阅读:1294回复:5
关于描述符的发送
请教各位大侠
在主机发送80 06 00 01 00 00 12 00 后我应该给主机发送18个字节描述符 ,我只发送了16个如下: 0x12, // 描述表大小 (18 bytes) 0x01, // 设备描述表类型 0x10, 0x01, // 兼容设备版本号(BCD码) 0x00, // 设备类码 0x00, // 子类码 0x00, // 协议码 0x10, // 端点0最大包大小(8,16,32,64) 0x71, 0x04, // 厂商ID 0x66, 0x06, // 产品ID 0x01, 0x00, // 设备发行号(BCD码) 0x00, // 厂商信息字符串索引 0x00, // 产品信息字符串索引 //////////////////////// 就再也没有收到后面主机发送的命令; 请问我要18个描述符全部发送,我也知道要分两次发送, 我想问一问,发送完第一次的16个描述符后,后两个字节应该怎样 发送,还是和前16个字节描述符的发送方式一样吗?? 那位大侠能告诉我,发送这18个描述符的步骤(命令码) |
|
|
沙发#
发布于:2003-06-04 09:22
谢谢各位这一步我过去了!!!!!
|
|
|
板凳#
发布于:2003-06-04 02:39
另外别忘了,最后的两个字节发完的时候要发送setup end,才行的!
|
|
地板#
发布于:2003-06-03 10:01
是的,不过你的记住你发了多少了,别发重了。
|
|
地下室#
发布于:2003-06-03 09:58
我想再问一下,后面的两个字节的发送程序,和前16个字节是用同一个就行吗???
在此感谢了 |
|
|
5楼#
发布于:2003-06-03 09:34
要设标志,没发完就继续,bEPPflags.bits.control_state=USB_TRANSMIT;
发完就Hold bEPPflags.bits.control_state=USB_IDLE; 在中断里加入判断: if(bEPPflags.bits.control_state != USB_TRANSMIT) return; else{....} |
|