elvis_qiao
驱动牛犊
驱动牛犊
  • 注册日期2003-01-30
  • 最后登录2005-11-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1198回复:7

枚举问题

楼主#
更多 发布于:2003-06-27 09:58
                                                            
  6  DI     04                          .       0us   1.1.0
  6  CTL    a3 00 00 00 - 02 00 04 00   CLASS   13us  2.1.0
  6  DI     01 01 01 00                 ....    14us  2.2.0
  6  CTL    a3 00 00 00 - 02 00 04 00   CLASS   14us  3.1.0
  6  DI     01 01 01 00                 ....     7us  3.2.0
  6  CTL    23 01 10 00 - 02 00 00 00   CLASS   19us  4.1.0
  6  CTL    a3 00 00 00 - 01 00 04 00   CLASS   36us  5.1.0
  6  DI     00 01 00 00                 ....     5us  5.2.0
  6  CTL    a3 00 00 00 - 02 00 04 00   CLASS   15us  6.1.0
  6  DI     01 01 00 00                 ....     5us  6.2.0
  6  CTL    a3 00 00 00 - 02 00 04 00   CLASS  110ms  7.1.0
  6  DI     01 01 00 00                 ....    18us  7.2.0
  6  CTL    23 03 04 00 - 02 00 00 00   CLASS   20us  8.1.0
  6  DI     04                          .       90ms  9.1.0
  6  CTL    a3 00 00 00 - 02 00 04 00   CLASS   14us 10.1.0
  6  DI     03 01 10 00                 ....    14us 10.2.0
  6  CTL    23 01 14 00 - 02 00 00 00   CLASS    3us 11.1.0
  6  CTL    a3 00 00 00 - 02 00 04 00   CLASS   20ms 12.1.0
  6  DI     03 01 00 00                 ....    19us 12.2.0
  6  CTL    a3 00 00 00 - 02 00 04 00   CLASS  5.6sc 13.1.0
  6  DI     03 01 00 00                 ....    19us 13.2.0
  6  CTL    23 03 04 00 - 02 00 00 00   CLASS   20us 14.1.0
  6  DI     04                          .       89ms 15.1.0
  6  CTL    a3 00 00 00 - 02 00 04 00   CLASS   14us 16.1.0
  6  DI     03 01 10 00                 ....    13us 16.2.0
  6  CTL    23 01 14 00 - 02 00 00 00   CLASS    4us 17.1.0
  6  CTL    a3 00 00 00 - 02 00 04 00   CLASS  5.6sc 18.1.0
  6  DI     03 01 00 00                 ....    20us 18.2.0
  6  CTL    23 03 04 00 - 02 00 00 00   CLASS   20us 19.1.0
  6  DI     04                          .       88ms 20.1.0
  6  CTL    a3 00 00 00 - 02 00 04 00   CLASS   14us 21.1.0
  6  DI     03 01 10 00                 ....    13us 21.2.0
  6  CTL    23 01 14 00 - 02 00 00 00   CLASS    3us 22.1.0
  6  CTL    23 01 01 00 - 02 00 00 00   CLASS  5.6sc 23.1.0
到这里就结束了,请大虾帮忙分析一下。
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-04 10:23
那就给分呀 :D
不给分下次不回答你的问题了 :P
elvis_qiao
驱动牛犊
驱动牛犊
  • 注册日期2003-01-30
  • 最后登录2005-11-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-03 20:46
问题解决了。
我用的是16位的MCU,描述符的定义与要求不符,按要求改掉就可以了。在BUSHOUND的帮助下,枚举成功不是很困难。
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-06-28 19:29
你如果给去掉了那就得手动修改描述符了,如果你的是16位的总线,那么最好自己拼接一下,如果遇到2个字节的元素不用修改,比如:设备描述符里的前两个字节一般是0x12,0x01,如果用16位的得是0x0112,对于8位的总线就不必了,但是在发送双字节的元素时,要先发低字节

另外,收到的setup包一般情况下也是颠倒的,比如80 06,设备收到的是06 80,你最好注意一点。
elvis_qiao
驱动牛犊
驱动牛犊
  • 注册日期2003-01-30
  • 最后登录2005-11-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-06-28 16:55
调试的时候,我发现接受的数据为WORD时,高低字节顺序反了(BIG ENDIAN/LITTLE ENDIAN),我用的是富士通的MCU,昨天回家路上我想了一下,我只是把接受数据中的SWAP去掉了,忘记把设备描述符中的SWAP去掉了,所以导致主机无法识别设备,下周一我到单位去在改一下,看看能否解决问题。
多谢jinghuiren指点。
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-06-28 10:50
出错了???
你自己的程序你问谁啊
出错了就检查原因呀
选择什么端点?
回复setup包只能用ep0tx端点,还需要选择端点吗?
不大明白你在说什么
elvis_qiao
驱动牛犊
驱动牛犊
  • 注册日期2003-01-30
  • 最后登录2005-11-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-06-27 13:14
我跟踪了一下,发现80 06 00 01 00 00 40 00收到了,可是在我回复get_descriptor时,执行到outportb(D12_COMMAND,endp),即输出时要选择端点的时候出错了。怎么回事呢?
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-06-27 11:10
你得到的数据里什么都没有,怎么帮你分析呀,你先把现象说一下吧
1,有没有收到总线复位中断
2,有没有收到get descriptor setup 包,也就是80 06 00 01 00 00 40 00
如果1没有就检查硬件和中断设置以及电缆是否有问题
如果收到1,但2没收到就检查中断设置以及一些寄存器设置看是否有问题。
游客

返回顶部