我希望能够从 USB 计步器读取数据。我正在 Java 中尝试此操作,并且使用 LibUsb 和 Usb4Java 库。我似乎无法认领 USB 管道或类似的东西。
我正在使用的代码:
final Context context = new Context();
int result = LibUsb.init(context);
if (result < 0)
{
throw new LibUsbException("Unable to initialize libusb", result);
}
DeviceHandle handle = LibUsb.openDeviceWithVidPid(context, vid, pid);
if (handle != null)
{
Device d = LibUsb.getDevice(handle);
int res = LibUsb.claimInterface(handle, 0);
Int res 返回“-3”,即“LIBUSB_ERROR_ACCESS”
该设备已找到,但无法领取。
USB设备只有1个接口。
任何帮助,将不胜感激!
LibUsb 需要 root 权限才能访问 USB 设备。在 Mac 中,拥有管理员帐户不足以访问 USB 设备。您必须以 root 身份运行它(admin 和 root 不同)。当我在 Mac(OSX EL Capitan)上使用它时,我遇到了同样的问题,我认为这是设备或库无法正常工作的问题,但后来我意识到这是权限问题。猜测你的程序名称是 myDevicesAccessor 然后像这样运行它。
sudo ./myDevicesAccessor
如果你尝试像
./myDevicesAccessor
这是行不通的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)