meihua
驱动牛犊
驱动牛犊
  • 注册日期2003-04-16
  • 最后登录2008-01-21
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1765回复:5

busbound监视数据结果问题!各位高手看看!给分!

楼主#
更多 发布于:2004-03-10 22:21
调试USB接口用busbound监视的数据如下:Device  Phase  Device  Phase  Data                      Description      
------  -----  ------------------------  -----
  11.1  DI     04                        .                    
  11.0  CTL   a3 00 00 00  02 00 04 00  GET STATUS          
  11.0  DI    01 03 01 00               ....                  
  11.0 CTL 23 01 10 00  02 00 00 00  CLEAR FEATURE          
  11.0 CTL a3 00 00 00  01 00 04 00  GET STATUS            
  11.0  DI     00 01 00 00               ....                  
  11.0  CTL   a3 00 00 00  02 00 04 00  GET STATUS          
  11.0  DI    01 03 00 00               ....                  
  11.0 CTL 23 03 04 00  02 00 00 00  SET FEATURE            
  11.1  DI     04                        .                      
  11.0 CTL a3 00 00 00  02 00 04 00  GET STATUS            
  11.0  DI     03 03 10 00               ....                  
  11.0 CTL 23 01 14 00  02 00 00 00  CLEAR FEATURE          
  11.0 CTL a3 00 00 00  02 00 04 00  GET STATUS            
  11.0  DI     03 03 00 00               ....                  
  11.0 CTL  80 06 00 01  00 00 40 00  GET DESCRIPTOR        
  11.0  USTS   05 00 00 80               no response  

以上能说明硬件板子已经跟电脑通信成功了吗???GET DESCRIPTOR没有响应有可能是什么原因产生的???
duanjong
驱动中牛
驱动中牛
  • 注册日期2003-03-10
  • 最后登录2006-01-18
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-11 22:52
GET DESCRIPTOR得不到响应,设备就不能正确枚举,当然就不能和主机通信了,这可能是协议方面的错误,也可能是控制端点的处理有问题,你可以查查看,当然这是在你的硬件没有问题的情况下
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-03-12 10:10
肯定没有成功,这是表示计算机发现了USB总线上面有设备,一般是硬件方面的问题,因为这些事情cy的内核一般都自己完成了。查查硬件。
我的Vc代码仓库:[url]http://sh.b211.net[/url]
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-12 12:13
建议查查发送descriptor的那段程序,主机没有收到你返回的描述符,或者返回的描述符是错误的!
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-03-12 13:45
你的固件是这样写的吗?

code void (*StdRequestHandler[16])(void) =
{
OnStdGetStatus,
OnStdClearFeature,
StdReservedHandler,
OnStdSetFeature,
StdReservedHandler,
OnStdSetAddress,
OnStdGetDescriptor,
StdReservedHandler,
OnStdGetConfigration,
OnStdSetConfigration,
OnStdGetInterface,
OnStdSetInterface,
StdReservedHandler,
StdReservedHandler,
StdReservedHandler,
StdReservedHandler
};

首先,检查OnStdGetDescriptor是否位于StdRequestHandler[6]。
如果不是,就肯定有问题。

之后,看OnStdGetDescriptor是否被调用;可以使用串口输出调试信息,或使用LED什么的给出提示。

如果OnStdGetDescriptor被调用了。那么OnStdGetDescriptor的代码本身或描述符本身可能有问题。

有时候问题本身可能很简单:
前面有一位兄弟(author22)调串口数日不同,N多贴子,最后是串口线断了闹的!!!

仔细一点,好好看看。
A strong man can save himself. A great man can save another.
meihua
驱动牛犊
驱动牛犊
  • 注册日期2003-04-16
  • 最后登录2008-01-21
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-03-12 16:49
谢谢各位的热心!
我现在是在想,我的电脑与硬件板子通信时板子是否已经响应了?也就是说板子能否收到电脑的命令?虽然在GET DESCRIPTOR时没响应,但是busbound前面的数据显示好像板子正在响应电脑的命令,如果是这样的话,那我的硬件应该是没有问题的,估计是软件的问题,不知对不对?不知这些数据能否确定硬件是没问题的,还是另有问题?另我是用D12实现的!
游客

返回顶部