HID USB access vs libusb



我需要在Linux下从C++访问USB设备,并且对USB接口完全陌生。我正在访问的设备没有任何驱动程序,但显示为HID设备。该设备类似于机器控制器(简单地短路命令输入/输出)。它不像鼠标/键盘,所以我不确定它是否应该显示为HID设备。

根据我所读到的内容,我的选择是将其作为HID设备访问,或者将其列入黑名单并使用libusb访问。(如果我弄错了,请纠正我)。看来HID访问是可行的——否则我必须为设备编写内核驱动程序。

看起来HID访问更可取。有没有一个在Linux下使用HID与设备通信的例子?这是一个简单的USB设备,具有一个USB配置、一个读取端点和一个写入端点。

我建议使用hidapi。如果你的设备已经设置为这样工作,这是一个比libusb更好的方法。libusb可以工作,但您可能需要实现HID规范以及设备的协议。如果您只使用hidapi,那么您应该只需要在hidapi层的顶部实现设备的协议。我想我记得hidapi也是在libusb之上实现的。

最新更新