javax.syncSubmit有时会导致延迟



我正在开发一个使用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>

我解决了这个问题,不轮询连接的USB设备,使用Listener方法,如连接或分离的USB设备。然后图书馆开始运转良好!

相关内容

  • 没有找到相关文章

最新更新