|
1. 在usb枚举过程中,发送完设备描述符后,并设置地址完成后,会收到主机发送的获取配置描述符的命令 GET_DESCRIPTOR : CONFIGURATION_TYPE, 如下所示:
Ep0 recv: 0x80 0x6 0x0 0x2 0x0 0x0 0x9 0x0 ;usb 设备接收到主机发送的命令, 需要返回长度为0x09BYTE
send: GC_ONLY_D ;usb设备向主机发送9个字节的descriptor_desc
Ep0 recv: 0x80 0x6 0x0 0x2 0x0 0x0 0xff 0x0 ;usb 设备接收到主机发送的命令, 需要返回长度为0xFFByte
send: GC_D ;usb设备向主机发送9个字节的descriptor_desc + 9个字节的interface + 2*7endp
0x80 -- usb 主机输出
0x06 --- GET_DESCRIPTOR
0x02 --- CONFIGURATION_TYPE
wLength -- 0x09 0x00 ;第一次需要返回的长度是0x09
wLength -- 0xFF 0x00 ;第二次需要返回的长度是0xFF
usb1.1 的spec上也没有讲说要返回长度不一样的情况。我对为什么两次descriptor 描述符中需要返回的长度不一样,这一点很不理解?
还望大家不吝指教,非常感谢!
|
|