阅读:2007回复:13
USB 枚举为什么不成功?
我的USB设备枚举不成功,下一步的工作没法开展啊,高手们救我啊。换一台机在WIN98 下第一次有提示发现新硬件,后面就不行了,我的描述符好象没什么问题呀,为什么枚举不了呢,有没有好心的人给我一点帮助啊,我迫切的需要帮助!下面是我抓的码,请高人看看有没有毛病。每次都是LINK 灯闪三次就停止了。
DI 12 01 00 01 dc 00 00 10 71 04 66 06 00 01 00 00 00 01 DI 09 02 2e 00 01 01 00 80 32 DI 03 01 00 00 DI 02 00 00 00 50 08 47 80 DI 03 01 10 00 DI 12 01 00 01 dc 00 00 10 71 04 66 06 00 01 00 00 DI 03 01 00 00 DI 02 00 00 00 50 08 47 80 DI 03 01 10 00 DI 12 01 00 01 dc 00 00 10 71 04 66 06 00 01 00 00 00 01 DI 09 02 2e 00 01 01 00 80 32 |
|
沙发#
发布于:2005-03-31 17:14
是我把字节顺序理解错了抱歉
我做出来了 可是PIC+D12用bulk 才20k/s 不知道你的速度能达到多少? 是不是轮询的原因? 我问了周立功的支持,他说他用51的时候,中断DMA速度是12m/s,而用轮询才500k/s |
|
|
板凳#
发布于:2005-03-31 08:13
可能是PIC单片机与C51单片机数据的存贮方式不一样吧。
C51的是高字节存在低地址,低字节存在高地址。我用的是C51 |
|
地板#
发布于:2005-03-31 00:05
请问您在代码里把
// ControlData.DeviceRequest.wValue = SWAP(ControlData.DeviceRequest.wValue); // ControlData.DeviceRequest.wIndex = SWAP(ControlData.DeviceRequest.wIndex); // ControlData.DeviceRequest.wLength = SWAP(ControlData.DeviceRequest.wLength); 注释掉了,PIC也是小段格式的,为什么不交换字节顺序呢?不明白 |
|
|
地下室#
发布于:2005-03-30 09:46
这也不好说,我用的是PIC 的单片机,是用C51的程序转过来的,因主C51是的指针是三个字节表示的,最高位表示段信息,所以我在PIC 里面也是这样来表示的,只是段信息要自己设置,正确设置以后就和C51一样的,你搜索一下我的帖子,无主题下面有全部枚举的源代码。
|
|
5楼#
发布于:2005-03-29 20:26
能具体地说一下吗?这样我不是很明白啊。谢谢
|
|
|
6楼#
发布于:2005-03-29 08:44
TO:ZFDok 我的指针错误发现在TX0―DONE 里面,其他的地方没有问题 |
|
7楼#
发布于:2005-03-28 17:32
TO:ZFDok
可以说一下你的错误是处在什么地方乐吗?我的问题好向和你的差不多,可以留下你的联系方式,交流一下可以吗?我的QQ:64668541 MSN:dujian197988@hotmail.com |
|
|
8楼#
发布于:2005-03-28 12:34
恭喜了
|
|
|
9楼#
发布于:2005-03-26 12:29
谢谢楼上的各位兄弟,我用的也是C51的固件,是在该论坛上下载的,我把他转成了PIC 的程序后运行不行,后面我又从头一步步来过,现在通过了,我分析了一下原因,应该是设备描述符不正确,我发现我后来这次改的固件的一个指针没有搞对,改正后就OK了。
|
|
10楼#
发布于:2005-03-26 11:18
拜托,你把数据弄全点好不好.
从现象上看,好象是在GET DEVICE DESCRIPTOR或GET CONFIG DESCRIPTOR后,枚举就不通过了.你好好查查你的固件吧. |
|
|
11楼#
发布于:2005-03-26 10:41
怎麽全是DI啊!
|
|
12楼#
发布于:2005-03-25 21:28
我也想知道原因,顶起来
|
|
|
13楼#
发布于:2005-03-17 08:50
弄个开发板即便宜又快
|
|
|