Java 4 USb LibUsb.controlTransfer返回-9

时间:2014-12-15 13:28:10

标签: java libusb

新的低级别usb pprogramming但我试图将两个字节写入一个USB端口并进入一个名为EASYDAQ开关的设备(它本质上是一个串行到并行板),其他一切看起来没问题,即找到一个设备句柄等但是当我尝试转移时,我得到-9作为结果。我不知道该怎么办。这是代码,它复制的形式usb4java,我也不完全理解所有命令行args正在做什么,如果有人可以启发我,我将非常感激,非常感谢提前..

    public static void sendMessage(DeviceHandle handle, byte[] message)
    {
    ByteBuffer buffer = ByteBuffer.allocateDirect(message.length);
    buffer.put(message);
   // buffer.rewind();
    int transfered = LibUsb.controlTransfer(handle,
    (byte) (LibUsb.REQUEST_TYPE_CLASS | LibUsb.RECIPIENT_INTERFACE),
    (byte) 0x09, (short) 2, (short) 1, buffer, TIMEOUT);
    if (transfered < 0)
    throw new LibUsbException("Control transfer failed", transfered);
    if (transfered != message.length)
    throw new RuntimeException("Not all data was sent to device");
    }

最后一件事我发送此消息并得到失败的响应我必须重启我试图与之通信的设备,否则我收到一条消息,它无法找到我的设备。

0 个答案:

没有答案