阅读:1189回复:8
为什么我在枚举时设置完地址后收到了全0的SETUP包?
我做的是USB2.0,用的USB控制器时PHILIPS的ISP1581(与D12类似),用的控制器是16位的DSP(TMS320F206).
1。在枚举时首先收到GetDescriptor请求 setup:80 06 00 01 00 00 00 40 我发送的设备描述符如下: ep0 in: { 0x12, /* length */ 0x01, /* 1. bDescriptorType */ 0x0200, /* 2.-3. Version 2.0 USB spec Word */ 0x00, /* 4. Class */ 0x00, /* 5. bDeviceSubClass */ 0x00, /* 6. bDeviceProtocol */ 0x40, /* 7. bMaxPacketSize0 */ 0xCC04, /* 8.-9. idVendor */ 0x491B, /* a.-b. idProduct */ 0x0000, /* c.-d. bcdDevice */ 0x01, /* e. iManufacturer */ 0x02, /* f. iProduct */ 0x03, /* 10. iSerialNumber */ 0x01 /* 11. bNumConfigurations */ }; 2。然后又收到SetAddress请求: setup:00 05 02 00 00 00 00 00 使能新地址后,在状态阶段我发送一个空的数据包给主机。 3。然后就收到全是0的setup包,然后枚举就结束了!: setup:00 00 00 00 00 00 00 00 请诸位大侠为小弟指点迷津,不胜感激! |
|
最新喜欢:![]() |
沙发#
发布于:2003-02-12 16:25
哪里哪里,互相帮助
|
|
板凳#
发布于:2003-02-12 14:17
多谢楼上的老兄,给你100分以表达谢意,以后还望多多关照呀!
|
|
地板#
发布于:2003-02-12 14:12
我是买了个2.0移动硬盘盒抓的,你可以试试,Vid=0ed1,Pid=6620
|
|
地下室#
发布于:2003-02-12 12:57
那我从哪里可以得到windows缺省的vid和pid呢?
|
|
5楼#
发布于:2003-02-12 12:22
看来你是用W2K的驱动,你是返回了描述符,但如果你的Vid和Pid不在MS缺省列表里的话,主机不会发新的BulkOnly命令给你的,我原来用1.1优盘的id在2。0下也是死,后换了个2.0移动硬盘的Vid和Pid就可以继续了。
|
|
6楼#
发布于:2003-02-12 12:17
楼上的老兄,当设置完新的地址后,驱动要求返回全部的描述符,这里如果vid和pid和驱动中的不符的话就不能完成枚举吗?那windows自带的驱动的vid和pid是什么呢?
|
|
7楼#
发布于:2003-02-12 09:08
你主机驱动是自编的吗?如果是瘟倒死自带的,可能是你的Vid和Pid不符合它要求,当然还有2.0的那对差分信号线布线很关键!
|
|
8楼#
发布于:2003-02-11 23:33
现在上面第3中的setup不再是全0了
是setup:80 06 00 01 00 00 00 12, 但是我返回上面的描述符后,枚举就结束了,不知道那里除了毛病!郁闷死了 |
|