用libusb库搞了一个通信程序,usb_interrupt_read进行接收,但是这个函数是非阻塞的,写死循环太占CPU。
我试了select,监视/dev/bus/usb下设备打开句柄,也试了监视设备的输入端点管道句柄,都不好用。有谁搞过这方面的东西,提提建议。貌似win版的libusb下的usb_interrupt_read就是阻塞型的,源码看不大懂。
这个interrupt_transfer写成死循环,从系统监视器看,也是由do_select来调配的,CPU占用率稍微有点高0~5左右。换成1.0版本的libusb库后,从函数名称do_bulk_sync_transfer来看,绝对是同步传输了,但是还是啥也没收着就直接返回