阅读:1783回复:6
求助,如何使用中断方式传送USB数据
本人在工作中遇到USB使用问题,希望各位大虾出手相救,在下感激不尽!
问题: 现有一个USB设备需要上传大量数据,同时上位机也要控制设备。以前我是用查询模式定时上位机去读取数据,这使得系统资源浪费并且不可靠,现在我想把上位机改成中断模式,即USB设备有数据后产生消息或事件通知上位机软件。(VC6.0) |
|
沙发#
发布于:2003-08-02 11:45
记住:USB的中断是伪中断,即HOST不断去轮询DEVICE 有无中断。
|
|
|
板凳#
发布于:2003-08-02 12:41
对的,除了远程唤醒外,usb设备不会在任何情况下发消息给主机!除非主机去查询,因此你不要认为它的中断和其他的中断是一样的,它只是在主机查询是对mcu产生中断而已!
|
|
地板#
发布于:2003-08-02 12:46
USB无法发真正意义上的中断给主机,只能发中断给外围的MCU。记住,USB接口芯片就是一个接口,没有操从主机的能力。
|
|
地下室#
发布于:2003-08-02 12:48
就是提供一个和主机通讯的接口,至于他的开发,完全是对你的硬件,即使是上位机的开发,也是接受主机的命令。
|
|
5楼#
发布于:2003-08-03 16:00
USB控制器不断查询下属的端点(一般是控制端点,Bulk-in和Bukl-out)的状态,当发生相应的中断时就会去处理端点的中断。并不是传统意义上的中断的概念。而且这个中断是USB控制器处理的,不是说主机在处理接口的中断请求。主机只是按固定的格式往端点里发数据。端点收发数据时才对USB控制器产生上面说的“中断”。 :)
|
|
|
6楼#
发布于:2003-08-04 08:41
我建议你用bulk only来实现,因为从各方面看来,bulk和interrupt并无大的区别,除了价格。
另外,usb HC一直在做总线的polling,并无中断产生,而主机方产生的中断,则与usb无关了。 |
|