linux hid设备通信,如何实现阻塞接收?

kittyzhang010   2010-2-26 18:47 楼主
用libusb库搞了一个通信程序,usb_interrupt_read进行接收,但是这个函数是非阻塞的,写死循环太占CPU。
我试了select,监视/dev/bus/usb下设备打开句柄,也试了监视设备的输入端点管道句柄,都不好用。有谁搞过这方面的东西,提提建议。貌似win版的libusb下的usb_interrupt_read就是阻塞型的,源码看不大懂。

回复评论 (5)

帮顶下。

MARK.
点赞  2010-2-27 02:08
帮顶下~

MARK
点赞  2010-3-1 09:54
这个interrupt_transfer写成死循环,从系统监视器看,也是由do_select来调配的,CPU占用率稍微有点高0~5左右。换成1.0版本的libusb库后,从函数名称do_bulk_sync_transfer来看,绝对是同步传输了,但是还是啥也没收着就直接返回
点赞  2010-3-1 14:03
最近在搞协议设计,这事忽略了暂时
点赞  2010-3-18 22:21
libusb1.0有异步模式,改成异步模式了
点赞  2010-5-20 09:55
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复