阅读:1031回复:1
请斑竹帮忙解答一个问题。先谢谢了
我采用USB1.1协议使用的芯片是PDIUSBD12,用BULK方式传输。
根据协议:“HUB有一个状态改变中断终点, 用于把它的每个下游端口的变化告诉主机。如果下面的任何状态改变,将设置一个端口变化位: 设备连接、端口使能、挂起、过流显示、复位、加电。 主机每255ms查询状态改变中断数据一次,如果什么也不做(如没有设备插入或拔出),HUB简单地返回NAK。” 请问协议中这段话的实现是要在设备端实现还是在PC端实现?我根据PHLIPS的例程,发现其设备端例程中有个USBISR.C处理Control_Out端口的查询,如果发现有主机发来的各种标准设备请求的SETUP包,则进入中断中处理各种标准设备请求,是不是就是上面这段话的实现?我想应该不是,因为协议讲是HUB发现它下游端口的变化,应该请求来自设备才对,但我不敢肯定,这个问题请教了。附件中我提供了我改写的PHILP例程中的中断处理的客户端的例程。我邮箱是handsome_zcl@263.net,希望各位帮忙! |
|
|
沙发#
发布于:2001-11-29 15:13
你理解错了。
usb device永远都是被动的,关于这点,在这个bbs有很多xd都讨论并且详细讲述过。 既然你在做device,就没必要理会hub端的事情。 usbirs.c里面的routines都是由中断驱动的。 |
|
|