这里需要你的帮助。
我目前正在开发能够与ingenico iWL220设备通信的Java应用程序,使用来自libusb库的usb4java。我安装了驱动程序,它可以从设备管理器读取很好。我主要遵循以下代码
http://www.mets-blog.com/java-usb-communication-usb4java/用于低API。
高级API的http://www.mets-blog.com/java-usb-communication-usb4java-high-api/。
我尝试的第一个是低API,我的主要类如下:
public class DeviceHandles {
private static final Short VendorID = 0x079b;
private static final Short ProductID = 0x0028;
public static void main(String[] args){
UsbLowPos upos = new UsbLowPos();
upos.claimDevice(VendorID,ProductID);
}
}这个返回时有一个错误:
Device Found
Exception in thread "main" org.usb4java.LibUsbException: USB error 12: Unable to open USB device: Operation not supported or unimplemented on this platform at Usb.UsbLowPos.getDeviceHandle(UsbLowPos.java:121) at Usb.UsbLowPos.findDevice(UsbLowPos.java:103) at Usb.UsbLowPos.claimDevice(UsbLowPos.java:27) at Usb.DeviceHandles.main(DeviceHandles.java:24)之后,我尝试了High,我的主要类如下:
public class DeviceHandles {
private static final Short VendorID = 0x079b;
private static final Short ProductID = 0x0028;
public static void main(String[] args){
UsbHighPos upos = new UsbHighPos();
UsbDevice usbDevice = upos.findDevice(VendorID,ProductID);
upos.readMessage(upos.getDeviceInterface(usbDevice, 0), 0);
}
}它还返回错误为:
javax.usb.UsbException: Properties file javax.usb.properties not found. at javax.usb.UsbHostManager.setupProperties(Unknown Source) at javax.usb.UsbHostManager.getProperties(Unknown Source) at javax.usb.UsbHostManager.createUsbServices(Unknown Source) at javax.usb.UsbHostManager.getUsbServices(Unknown Source) at Usb.UsbHighPos.getUsbRootHoob(UsbHighPos.java:29) at Usb.UsbHighPos.findDevice(UsbHighPos.java:43) at Usb.DeviceHandles.main(DeviceHandles.java:27) Exception in thread "main" java.lang.NullPointerException at Usb.UsbHighPos.findDevice(UsbHighPos.java:49) at Usb.UsbHighPos.findDevice(UsbHighPos.java:43) at Usb.DeviceHandles.main(DeviceHandles.java:27)我是不是漏掉了什么?是图书馆无法与设备通信吗?或者可能是设备的问题?请帮忙,谢谢你抽出时间来。
发布于 2018-08-07 03:21:39
这个问题解决了,我用代替了它,而且它工作得很好!
https://stackoverflow.com/questions/48796780
复制相似问题