阅读:1477回复:6
d12在枚举时收到的第一个SETUP包的数据内容是什么
枚举时收到的第一个SETUP包,内容是什么,有多长。
我收到的结果如下: ControlData.DeviceRequest.bmRequestType=80 ControlData.DeviceRequest.bRequest=6 ControlData.DeviceRequest.wValue=0 ControlData.DeviceRequest.wIndex=1 ControlData.DeviceRequest.wLength=0 这个肯定有错,因为其中的wValue值为0,不能进入chap_9.c中的get_descriptor()函数。 帮帮我,谢谢。 |
|
沙发#
发布于:2003-07-30 22:38
每个setup包都是8个字节,第一个包get_descriptor的内容是:80 06 00 01 00 00 40 00
|
|
板凳#
发布于:2003-07-30 22:43
wValue = 0x0100
wIndex = 0x0000 wLength= 0x0040 接受到的16位数要swap一下 |
|
|
地板#
发布于:2003-07-30 22:54
参考如下贴子中的内容:
http://www.driverdevelop.com/forum/html_34254.html?1059576198 http://www.driverdevelop.com/forum/viewthread.php?tid=34050 |
|
地下室#
发布于:2003-07-31 16:18
非常感谢,我的USB芯片是8位PDIUSBD12,而MCU是16位的5402DSP
它的编译器将unsigned char数据类型都当成16位。因此,sizeof(USB_DEVICE_DESCRIPTOR)的结果是5,读SETUP包时我只读到了5个字节。因为这个原因,固件程序的好多地方都得修改。好麻烦呀。 感谢各位 |
|
5楼#
发布于:2003-07-31 17:33
你不要用那些东西了,直接写8就行了,主要该的东西就在chap9里面/
|
|
6楼#
发布于:2003-07-31 20:55
设备描述符结构(USB_DEVICE_DESCRIPTOR)有18个字节,而端点0最大信息包不能超过16,如何将设备描述符发回主机。
谢谢。 |
|