阅读:1606回复:7
如何及时知道windows USB Host已经收到了数据
我要做一个实时性非常强的usb驱动,我是参照ddk的一个Bulk_usb驱动例子写的程序,我发现数据的读写都是通过urb提交给下层驱动来实现的,当windows的底层usb驱动收到数据时我的程序没办法知道,我只能在应用程序中用查询的方式不断地去进行读操作才能获取windows底层收到的数据,这样不但效率低,重要的我不能及时得到我要的数据,请问各位高手,如果及时知道windows USB Host已经收到了数据?我记得好像串口通信中,当串口收到数据时会有一个事件EV_RXCHAR触发,usb通信也可以有类似的效果吗?
|
|
|
沙发#
发布于:2003-06-24 23:00
关注
|
|
板凳#
发布于:2003-06-25 10:38
我现在用的就是一直查询的笨办法,因为不大懂驱动,所以也很想知道有没有更好的办法!
|
|
地板#
发布于:2003-06-25 14:08
如果你要及时,中断方式应该是及时的。如果你用BULK方式,你也不一定要一直在查询等待。在你的应用程序ReadFile&WriteFile API函数中,用OVERLOPPED的方式吧,或许能解决你的问题。
|
|
|
地下室#
发布于:2003-07-01 21:14
如果你要及时,中断方式应该是及时的。如果你用BULK方式,你也不一定要一直在查询等待。在你的应用程序ReadFile&WriteFile API函数中,用OVERLOPPED的方式吧,或许能解决你的问题。 谢谢你的回复,你说的OVERLOPPED方式我试过了,好像不行。 |
|
|
5楼#
发布于:2003-07-02 16:47
不知道做一个中断服务程序挂到usb host的中断上是否可行。
|
|
|
6楼#
发布于:2003-07-03 10:57
顶一下先,以前也想过这问题,不过看这么多人都查询到了那么高的速度,也无所谓了。
|
|
|
7楼#
发布于:2003-07-03 14:54
我也用的是查询,速度还可以啊!
好像可以通过内核事件来等待响应,但我没试过。 |
|