我需要在 Linux 下从 C++ 访问 USB 设备,并且对 USB 接口(interface)完全陌生。我正在访问的设备没有附带任何驱动程序 - 但显示为 HID 设备。该设备类似于机器 Controller (简单的短指令输入/输出)。它不像鼠标/键盘 - 所以我不确定它是否应该显示为 HID 设备。
根据我的阅读,我的选择是将其作为 HID 设备访问,或者将其列入黑名单并使用 libusb 访问它。 (如果我错了,请纠正我)。似乎 HID 访问是要走的路 - 否则我必须为设备编写内核驱动程序。
似乎 HID 访问更可取。有没有在 Linux 下如何使用 HID 与设备通信的示例?这是一个简单的 USB 设备,具有一个 USB 配置、一个读取端点和一个写入端点。
最佳答案
我建议使用 hidapi 。如果您的设备已经设置为这样工作,这是比 libusb 更好的方法。 libusb 可以工作,但您可能需要为您的设备实现 HID 规范和协议(protocol)。如果您只使用 hidapi,那么您应该只需要在 hidapi 层之上为设备实现协议(protocol)。我想我记得 hidapi 也是在 libusb 之上实现的。
关于linux - HID USB 访问与 libusb,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36236884/