我正在开发一个使用 javax.usb 库的 java 应用程序,它运行良好,但有时当我用力推动它时,它开始从函数syncSubmit延迟返回。大约 2 秒而不是 10 毫秒。
可能是什么原因?我尝试重新初始化 javax usb 库,但它没有改变任何东西。
谢谢..
private int BootloaderGetStatus(UsbDevice device) {
try {
byte[] data_6 = new byte[6];
byte bmRequestType = (byte) ((BMREQUEST_DEVICE_TO_HOST << 7) | (BMREQUEST_CLASS << 5)
| (BMREQUEST_TO_INTERFACE << 0)); // device to host
byte bRequest = (byte) DFU_REQ_GETSTATUS;
short wValue = 0;
short wIndex = 0;
UsbControlIrp controlIrp = device.createUsbControlIrp(bmRequestType, bRequest, wValue, wIndex);
controlIrp.setData(data_6);
device.syncSubmit(controlIrp);
return controlIrp.getActualLength();
} catch (Exception e) {
log.error(e);
return -1;
}
}
图书馆版
<dependency>
<groupId>org.usb4java</groupId>
<artifactId>usb4java</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.usb4java</groupId>
<artifactId>usb4java-javax</artifactId>
<version>1.3.0</version>
</dependency>