【问题标题】:javax.usb - syncSubmit causes a delay sometimesjavax.usb - syncSubmit 有时会导致延迟
【发布时间】:2020-07-22 09:22:36
【问题描述】:

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

【问题讨论】:

    标签: java usb delay communication dfu


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-23
      • 2014-04-24
      • 1970-01-01
      相关资源
      最近更新 更多