阅读:1195回复:3
为什么我的firmware收不到主机发送的set config包???大家都进来帮我看看,随便说说。
下面这个问题卡了我好久了,这的不知道怎么解决了,麻烦大家帮我看看,出出主意。随便说说也好呀,希望能帮我找到突破口。
在get cinfiguration descriptor这一步,通过bus hound看到主机发送的是80 06 00 02 00 00 09 00而不是80 06 00 02 00 00 ff 00. 然后用usb view看的时候,Current Config Value这一项为0。而且它usb设备接上时都是1。 请看bus hound捕捉的数据: 1.0 CTL 80 06 00 01 - 00 00 40 00 GET DESCRIPTR 1.0 DI 12 01 10 01 - 00 00 00 08 1.0 CTL 00 05 03 00 - 00 00 00 00 SET ADDRESS 1.0 CTL 80 06 00 01 - 00 00 12 00 GET DESCRIPTR 1.0 DI 12 01 10 01 - 00 00 00 08 ........ 00 04 5d c3 - 04 01 00 00 ..]..... 20.2.8 00 01 .. 20.2.16 1.0 CTL 80 06 00 02 - 00 00 09 00 GET DESCRIPTR 1.0 DI 09 02 20 00 - 01 01 00 40 .. ....@ 00 . 21.2.8 1.0 CTL 80 00 00 00 - 00 00 02 00 GET STATUS 1.0 DI 01 00 .. usbview看到的: Device Descriptor: bcdUSB: 0x0110 bDeviceClass: 0x00 bDeviceSubClass: 0x00 bDeviceProtocol: 0x00 bMaxPacketSize0: 0x08 (8) idVendor: 0x0400 (National Semiconductor) idProduct: 0xC35D bcdDevice: 0x0104 iManufacturer: 0x00 iProduct: 0x00 iSerialNumber: 0x00 bNumConfigurations: 0x01 ConnectionStatus: DeviceConnected Current Config Value: 0x00 Device Bus Speed: Full Device Address: 0x03 Open Pipes: 0 [编辑 - 1/6/03 by leadphone] |
|
沙发#
发布于:2003-01-06 11:37
我遇的问题和你一模一样,关注.....
还有问一下,你是如何发送描述符给回PC的.发送完毕后需不需要发送空包,都在什么时候需要发送空包啊..我用USBVIEW观察到的问题与你一模一样,可是用BUSBOUND观察到的不一样,而且好像我的有问题....不知道哪里不对了 7 CTL 80 06 00 01 - 00 00 12 00 GET DESCRIPTR 0us 1.1.0 7 DI 12 01 00 01 - dc 00 00 10 ........ 37ms 1.2.0 71 04 66 06 - 00 01 00 00 q.f..... 1.2.8 00 19 .. 1.2.16 7 USTS 08 00 00 c0 overrun 10us 1.3.0 |
|
板凳#
发布于:2003-01-06 16:06
仔细看USB协议。我不知道你在什么级别上发数据,看这样像直接写端口,如果这样,不用发空包。你写的数据结构是一次完整的传输。看USB协议第八章,很详细。
|
|
地板#
发布于:2003-01-07 10:40
我的也有问题有点迷惑了
收到的数据如下: 0x80 06 00 01 00 00 40 00 Get_Descriptor : device 0x00 00 00 01 00 00 40 00 不知是何东西 0x00 05 02 00 00 00 00 00 Set_Address 0x80 06 00 01 00 00 12 00 Get_Descriptor : device 0x00 00 00 01 00 00 12 00 不知是何东西 0x80 06 00 02 00 00 09 00 Get_Descriptor : configuration 0x00 00 00 02 00 00 09 00 不知是何东西 0x80 06 00 02 00 00 ff 00 Get_Descriptor : configuration 0x00 00 00 02 00 00 ff 00 不知是何东西 重复了几次之后就结束了,枚举不成功 还有USBcheck软件怎么检测不到设备 |
|