阅读:1766回复:5
busbound监视数据结果问题!各位高手看看!给分!
调试USB接口用busbound监视的数据如下:Device Phase Device Phase Data Description
------ ----- ------------------------ ----- 11.1 DI 04 . 11.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 11.0 DI 01 03 01 00 .... 11.0 CTL 23 01 10 00 02 00 00 00 CLEAR FEATURE 11.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 11.0 DI 00 01 00 00 .... 11.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 11.0 DI 01 03 00 00 .... 11.0 CTL 23 03 04 00 02 00 00 00 SET FEATURE 11.1 DI 04 . 11.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 11.0 DI 03 03 10 00 .... 11.0 CTL 23 01 14 00 02 00 00 00 CLEAR FEATURE 11.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 11.0 DI 03 03 00 00 .... 11.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 11.0 USTS 05 00 00 80 no response 以上能说明硬件板子已经跟电脑通信成功了吗???GET DESCRIPTOR没有响应有可能是什么原因产生的??? |
|
沙发#
发布于:2004-03-12 16:49
谢谢各位的热心!
我现在是在想,我的电脑与硬件板子通信时板子是否已经响应了?也就是说板子能否收到电脑的命令?虽然在GET DESCRIPTOR时没响应,但是busbound前面的数据显示好像板子正在响应电脑的命令,如果是这样的话,那我的硬件应该是没有问题的,估计是软件的问题,不知对不对?不知这些数据能否确定硬件是没问题的,还是另有问题?另我是用D12实现的! |
|
板凳#
发布于:2004-03-12 13:45
你的固件是这样写的吗?
code void (*StdRequestHandler[16])(void) = { OnStdGetStatus, OnStdClearFeature, StdReservedHandler, OnStdSetFeature, StdReservedHandler, OnStdSetAddress, OnStdGetDescriptor, StdReservedHandler, OnStdGetConfigration, OnStdSetConfigration, OnStdGetInterface, OnStdSetInterface, StdReservedHandler, StdReservedHandler, StdReservedHandler, StdReservedHandler }; 首先,检查OnStdGetDescriptor是否位于StdRequestHandler[6]。 如果不是,就肯定有问题。 之后,看OnStdGetDescriptor是否被调用;可以使用串口输出调试信息,或使用LED什么的给出提示。 如果OnStdGetDescriptor被调用了。那么OnStdGetDescriptor的代码本身或描述符本身可能有问题。 有时候问题本身可能很简单: 前面有一位兄弟(author22)调串口数日不同,N多贴子,最后是串口线断了闹的!!! 仔细一点,好好看看。 |
|
|
地板#
发布于:2004-03-12 12:13
建议查查发送descriptor的那段程序,主机没有收到你返回的描述符,或者返回的描述符是错误的!
|
|
地下室#
发布于:2004-03-12 10:10
肯定没有成功,这是表示计算机发现了USB总线上面有设备,一般是硬件方面的问题,因为这些事情cy的内核一般都自己完成了。查查硬件。
|
|
|
5楼#
发布于:2004-03-11 22:52
GET DESCRIPTOR得不到响应,设备就不能正确枚举,当然就不能和主机通信了,这可能是协议方面的错误,也可能是控制端点的处理有问题,你可以查查看,当然这是在你的硬件没有问题的情况下
|
|