我希望能够从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);
Run Code Online (Sandbox Code Playgroud)
Int res返回'-3',即'LIBUSB_ERROR_ACCESS'
设备已找到但不可索赔.USB设备只有1个接口.
任何帮助,将不胜感激!
LibUsb 需要 root 权限才能访问 USB 设备。在 Mac 中,拥有管理员帐户不足以访问 USB 设备。您必须以 root 身份运行它(admin 和 root 不同)。当我在 Mac(OSX EL Capitan)上使用它时,我遇到了同样的问题,我认为这是设备或库无法正常工作的问题,但后来我意识到这是权限问题。猜测你的程序名称是 myDevicesAccessor 然后像这样运行它。
sudo ./myDevicesAccessor
Run Code Online (Sandbox Code Playgroud)
如果你尝试像
./myDevicesAccessor
Run Code Online (Sandbox Code Playgroud)
这是行不通的。
归档时间: |
|
查看次数: |
1520 次 |
最近记录: |