有谁知道LINUX中非阻塞 reed()命令的过程吗?
目前我正在使用
read(fd, ev, sizeof(struct hiddev_event) * EV_NUM); 但是它到了阻塞阶段,当我的HID指向装置不是朝向感应器的时候。
致以亲切的问候,
马德尼
发布于 2009-07-08 13:25:03
我认为需要更多的资料来回答这个问题。我看过的大多数USB都在Open()方法中放置了一个异步标志。通常,您不希望只执行一次异步读取,然后进行同步读取。所有read()调用都应该使用相同的技术。
打开设备时是否使用O_NONBLOCK标志?
发布于 2009-07-08 13:31:46
谢谢
它解决了这个问题
在非阻塞模式下打开HID装置
char *dev1="/dev/usb/hiddev0";
if ((fd = open(dev1, O_NONBLOCK)) < 0) {
perror("evdev open");
exit(1);
}致以敬意,
https://stackoverflow.com/questions/1097824
复制相似问题