usb51
驱动牛犊
驱动牛犊
  • 注册日期2004-04-07
  • 最后登录2004-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1475回复:8

d12的问题,给100分

楼主#
更多 发布于:2004-04-08 08:46
我的mcu发送18个设备描述符给host,这两次mcu的control in中断,读最后状态寄存器分别是41h和01h,这能不能说明我的18个设备描述符成功发给host?在此后,host应向mcu发送80,06,00,02,00,00,09,00,而我接收到的确是80,06,00,01,00,00,40,00,这是怎么回事?可能使那里的原因????请教!!给100分!!!!!!!
xndxnd
驱动牛犊
驱动牛犊
  • 注册日期2004-02-01
  • 最后登录2004-10-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-04-08 09:00
发送应该是成功的,但接受是否成功就不一定了.
还有你的这18个描述符是什么时候发的?看你下面收到的好象是在第一次发送描述符,应该是在地址分配之前,那就说明你没发送成功.
whmjack
驱动小牛
驱动小牛
  • 注册日期2003-09-17
  • 最后登录2007-04-26
  • 粉丝0
  • 关注0
  • 积分290分
  • 威望29点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-08 09:10
不知道你的主机是不是PC,如果;是PC,建议用bus hound抓取枚举过程看看!
照我的理解,你最后状态寄存器读到的值应该可以反映出数据已经发送,但是假如你主机是PC就可以用bus hound抓出数据来看,到底是不是发送了,要不然就得用usb 分析仪来做了!
shaoshengli
驱动小牛
驱动小牛
  • 注册日期2002-06-24
  • 最后登录2022-02-14
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望77点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2004-04-08 09:18
在你的程序中加一个COM发送程序,把接收到的数据通过COM发送出来。然后与 BUS Hound相比较。这样很块就知道问题在哪里。
usb51
驱动牛犊
驱动牛犊
  • 注册日期2004-04-07
  • 最后登录2004-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-08 12:07
我是按照以下5步来的:
(1)80 06 00 01 00 00 40 00 GetDescriptor
返回08h,01h,10h,01h,0dch,00h,00h,10h
(2)00 05 02 00 00 00 00 00 SetAddress
返回空数据包
(3)80 06 00 01 00 00 12 00 GetDescriptor
返回12h,01h,10h,01h,0dch,00h,00h,10h,71h,04h,66h,06h,00h,01h,00h,00h,00h,01h
只能做到这里,收不到以下的数据了
(4)80 06 00 02 00 00 09 00 GetDescriptor
(5)80 06 00 02 00 00 ? 00 GetDescriptor
usb51
驱动牛犊
驱动牛犊
  • 注册日期2004-04-07
  • 最后登录2004-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-04-08 12:18
我的host是pc,用bus hound怎么抓数据,是不是枚举成功了之后才能在bus hound上看到数据?有没有可能是bus hound软件的问题?
我觉得pc应该收到了,否则如果pc没收到这18个设备描述符的话,那也不会收到这一步之前mcu发送的数据,那么pc也不会向mcu发送下一步的数据了,我说的对吗??????还有,虽然我能做到第三步,但我用bus hound看不到发送和接受的数据呀,怎么回事???
shaoshengli
驱动小牛
驱动小牛
  • 注册日期2002-06-24
  • 最后登录2022-02-14
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望77点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2004-04-08 13:44
我的host是pc,用bus hound怎么抓数据,是不是枚举成功了之后才能在bus hound上看到数据?有没有可能是bus hound软件的问题?
我觉得pc应该收到了,否则如果pc没收到这18个设备描述符的话,那也不会收到这一步之前mcu发送的数据,那么pc也不会向mcu发送下一步的数据了,我说的对吗??????还有,虽然我能做到第三步,但我用bus hound看不到发送和接受的数据呀,怎么回事???
//*********************************************************

BusHound在枚举过成中也可以抓数据,你的情况可能是设置问题。你说的情况可能是数据出错造成的。你的D12的GoodLink指示灯有没有闪亮一下又灭了的情况。如果有我想应该是数据出错。
jiangwei
驱动牛犊
驱动牛犊
  • 注册日期2004-03-25
  • 最后登录2004-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-04-08 14:14
他不是闪一下就灭,而是亮一会,然后在灭,然后在亮,然后在灭!!!!!!!怎样设置bus hound?
usb51
驱动牛犊
驱动牛犊
  • 注册日期2004-04-07
  • 最后登录2004-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-04-08 17:24
我的灯能亮一会儿,然后灭了
游客

返回顶部