xoy
xoy
驱动牛犊
驱动牛犊
  • 注册日期2001-09-07
  • 最后登录2004-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1680回复:9

请帮分析一下:是不是总线枚举没成功

楼主#
更多 发布于:2002-04-28 10:59
是不是总线枚举没成功。
主机先后发出以下中断:
40(复位) 3(设备描述符) 40(复位) 3(设置地址) 3(设备描述符) 2(返回设备描述符) 3(配置描述符) 2(返回配置描述符) 40(复位)
以上过程持续三次,没成功,结束。
1、在要描述符过程中我直接返回一个IN,应该再来一个IN才对,18=16+2;
2、复位是否需要10ms等待,若需要为什么;
3、设备描述符18是需要两个IN:16+2?
   配置描述符32=9(cfg)+9(interface)+7(endpoint)+7(endpoint)需要三个IN:16+16+0;

最新喜欢:

wujiajunwujiaj... www3390www339...
xoy
xoy
驱动牛犊
驱动牛犊
  • 注册日期2001-09-07
  • 最后登录2004-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-08 15:50
谢谢大家,我已经知道原因了。
现在EP0和Ep2已调试通过.
再次谢谢plasma!!

plasma
驱动小牛
驱动小牛
  • 注册日期2002-02-19
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-05-07 17:10
xoy 先生
\"IN事务处理中,读状态总是0x92或0xD2,为什么?? \"

在调试USB硬件时,有时不能单步执行,因USB通讯有时间限制.
上述状态已表明D12挂起.
调试时应一步运行到读状态后的语句处.
huoxy
驱动小牛
驱动小牛
  • 注册日期2002-03-01
  • 最后登录2014-02-24
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-06 16:49
有时候,可以不理会状态,在需要发送数据到主机时,只需要判断:如果D12缓冲区空了就写,不空就等待。
好好学习,天天向上,做一个乖宝宝。
xoy
xoy
驱动牛犊
驱动牛犊
  • 注册日期2001-09-07
  • 最后登录2004-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-05-05 12:06
怎么没人讨论?
xoy
xoy
驱动牛犊
驱动牛犊
  • 注册日期2001-09-07
  • 最后登录2004-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-28 21:37

IN事务处理中,读状态总是0x92或0xD2,为什么??
plasma
驱动小牛
驱动小牛
  • 注册日期2002-02-19
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-04-28 21:06
主机第一次请求设备描述符,返回16字节,然后设置USB地址,
主机第二次请求设备描述符,返回18字节,先返回16字节,再收到in请求时返回2个字节,

主机第一次请求配置描述符,返回9字节,
主机第二次请求配置描述符,返回全部配置描述符,包括配置、接口、端点描述符,如果有类描述符也包括在内,方法同上。
xoy
xoy
驱动牛犊
驱动牛犊
  • 注册日期2001-09-07
  • 最后登录2004-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-04-28 20:25
谢谢plasma的回答,但datasheet中不是说配置、接口、端点一起送吗,
配置描述符32=9(cfg)+9(interface)+7(endpoint)+7(endpoint),不对吗?
xoy
xoy
驱动牛犊
驱动牛犊
  • 注册日期2001-09-07
  • 最后登录2004-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-04-28 17:00
那么设备描述符中长度字节是12h还是9h?
如果回送了16个,d12是否只取前九个。
plasma
驱动小牛
驱动小牛
  • 注册日期2002-02-19
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-04-28 16:45
返回配置描述符不对,
第一次主机要求返回的配置描述符是9个字节,第二次才能返回全部配置描述符(包含其它应包含的描述符)。
游客

返回顶部