liuwan
驱动小牛
驱动小牛
  • 注册日期2001-10-15
  • 最后登录2004-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1030回复:1

请斑竹帮忙解答一个问题。先谢谢了

楼主#
更多 发布于:2001-11-28 22:57
我采用USB1.1协议使用的芯片是PDIUSBD12,用BULK方式传输。
根据协议:“HUB有一个状态改变中断终点, 用于把它的每个下游端口的变化告诉主机。如果下面的任何状态改变,将设置一个端口变化位:
    设备连接、端口使能、挂起、过流显示、复位、加电。
主机每255ms查询状态改变中断数据一次,如果什么也不做(如没有设备插入或拔出),HUB简单地返回NAK。”
请问协议中这段话的实现是要在设备端实现还是在PC端实现?我根据PHLIPS的例程,发现其设备端例程中有个USBISR.C处理Control_Out端口的查询,如果发现有主机发来的各种标准设备请求的SETUP包,则进入中断中处理各种标准设备请求,是不是就是上面这段话的实现?我想应该不是,因为协议讲是HUB发现它下游端口的变化,应该请求来自设备才对,但我不敢肯定,这个问题请教了。附件中我提供了我改写的PHILP例程中的中断处理的客户端的例程。我邮箱是handsome_zcl@263.net,希望各位帮忙!
菜菜
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-11-29 15:13
你理解错了。
usb device永远都是被动的,关于这点,在这个bbs有很多xd都讨论并且详细讲述过。
既然你在做device,就没必要理会hub端的事情。
usbirs.c里面的routines都是由中断驱动的。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
游客

返回顶部