阅读:1580回复:4
问一个D12编程方面的
我用的是周立功的那块89516+d12的IDE开发板子。
我将协议ATA和IDE接口那部分砍掉了,保留了SCSI命令。 有一个问题困扰着我。 在仿真器,我单步运行到DisConnectUsb()->延时->ConnectUsb(),再按下全速运行,USB枚举正常,GoodLink灯正常闪烁,读D12中断值也正常,用BusHound查看也正常,描述符都传上去了,一切正常。 但是当我从一开始就全速运行,或者是在ConnectUsb()之前按下全速运行,USB枚举就不正常了,出现未知的USB设备。 不知道是为什么,请高手指点一下。 另外,我将该生成的HEX文件烧录到IC中,接上USB,发现右下角的USB图标总是: 出现->消失->出现->消失->,反复7,8次后还是消失,出现的也是未知的USB设备 我实在是不明白怎么会这样。不明白呀不明白呀。 |
|
|
沙发#
发布于:2003-08-04 16:40
直接全速运行时的延时可能有问题,这里延时还是很重要的。
“另外,我将该生成的HEX文件烧录到IC中,接上USB”这是什么意思,不是直接烧录到USB中的吗? |
|
板凳#
发布于:2003-08-04 16:40
是不是中间的延时不够?多加些冗余指令看看
|
|
|
地板#
发布于:2003-08-04 18:44
跟延时没有关系,我已经做过了,不行。
刚才一个同事告诉我: 在USBReset处理时不应该将D12SUSPD置1而应该是置0,开发板的源代码将其置1了,看来是有问题。 因为D12是自动将该位拉高的,当USB总线进入挂起状态时。 但我还是不明白为什么单步为什么可以。 |
|
|
地下室#
发布于:2005-01-20 10:41
I want to know the "周立功的那块89516+d12的IDE开发板子" price? my email is "aetekka@yahoo.com.hk"
|
|