我对这行代码有疑问。我能够成功打开设备并发送 .
发送:
retCode = LibUsb.bulkTransfer(devHandle, endpointSend, buf, iBuf, timeout);
接收:
retCode = LibUsb.bulkTransfer(devHandle, endpointReceive, messageBuf, iBuf, timeout);
logger.debug("Receiving Message Status: "+retCode);
输出:
对于发送,我得到了 0 的响应,但在接收时,我得到了 -7。
Receiving Message Status: -7
libusb: error [init_device] program assertion failed: device address collision with root hub
其他日志
receiveMessage messageBuf: java.nio.DirectByteBuffer[pos=0 lim=1000 cap=1000]
receiveMessage iBuf: java.nio.HeapIntBuffer[pos=1 lim=1 cap=1]
搜索的参考文献:
http://usb4java.org/apidocs/constant-values.html#org.usb4java.LibUsb.ERROR_TIMEOUT
public static final int ERROR_PIPE -9
public static final int ERROR_TIMEOUT -7
有时当我断开并连接设备时它是-9,但通常是-7。由于我已经玩了一段时间的超时,我开始怀疑它与管道有关。如何解决 -9 错误代码?