alex-liu
驱动牛犊
驱动牛犊
  • 注册日期2003-04-21
  • 最后登录2003-11-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1294回复:5

关于描述符的发送

楼主#
更多 发布于:2003-06-03 09:08
请教各位大侠
在主机发送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个描述符的步骤(命令码)



高处不胜寒!!!!!!!!!!!!!!!!!
alex-liu
驱动牛犊
驱动牛犊
  • 注册日期2003-04-21
  • 最后登录2003-11-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-04 09:22
谢谢各位这一步我过去了!!!!!
高处不胜寒!!!!!!!!!!!!!!!!!
NewTech
驱动大牛
驱动大牛
  • 注册日期2002-10-02
  • 最后登录2010-03-27
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望263点
  • 贡献值0点
  • 好评度86点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-04 02:39
另外别忘了,最后的两个字节发完的时候要发送setup end,才行的!
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-06-03 10:01
是的,不过你的记住你发了多少了,别发重了。
alex-liu
驱动牛犊
驱动牛犊
  • 注册日期2003-04-21
  • 最后登录2003-11-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-06-03 09:58
我想再问一下,后面的两个字节的发送程序,和前16个字节是用同一个就行吗???
在此感谢了
高处不胜寒!!!!!!!!!!!!!!!!!
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
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{....}


游客

返回顶部