我有一个由 PNI Corp 开发的传感器,称为 spacepoint-fusion。我需要在 C++ 中与该设备进行交互,并不断从该设备读取新数据。
当我将设备插入我的计算机时,我看到 /dev/hidraw1 和 /dev/hidraw2 出现。/dev/usb/hiddev0 也出现了。
我的问题是我不知道如何阅读这些设备。我在网上找不到任何示例或文档。我什至不知道从哪里开始。我一直在寻找 libhid 和 hiddev 作为可能的解决方案,但到目前为止,我无法弄清楚如何使用这两个库中的任何一个。
那么如何在 linux 机器上用 C++ 从这个人机接口设备中读取数据呢?示例将不胜感激。谢谢。
您应该使用 libusb 库:http://libusb.sourceforge.net/doc/index.html
#include <libusb.h>
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用读、写系统调用将 /dev/usb/hiddev0 作为简单文件读取。请参阅:man 打开、man 2 读取、man 2 写入。
#include <fcntl.h>
#include <unistd.h>
Run Code Online (Sandbox Code Playgroud)