Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 4 USb LibUsb.controlTransfer返回-9_Java_Libusb - Fatal编程技术网

Java 4 USb LibUsb.controlTransfer返回-9

Java 4 USb LibUsb.controlTransfer返回-9,java,libusb,Java,Libusb,对低级usb编程不熟悉,但我尝试将两个字节写入一个usb端口,并写入一个名为EASYDAQ交换机的设备(本质上是一个串行到并行板),其他一切都正常,即找到一个设备句柄等,但当我尝试传输时,结果得到-9。我不知道怎么继续。这是代码,它是从usb4java复制的,我也不完全理解所有命令行参数都在做什么,如果有人能告诉我,我将非常感激,非常感谢 public static void sendMessage(DeviceHandle handle, byte[] message) {

对低级usb编程不熟悉,但我尝试将两个字节写入一个usb端口,并写入一个名为EASYDAQ交换机的设备(本质上是一个串行到并行板),其他一切都正常,即找到一个设备句柄等,但当我尝试传输时,结果得到-9。我不知道怎么继续。这是代码,它是从usb4java复制的,我也不完全理解所有命令行参数都在做什么,如果有人能告诉我,我将非常感激,非常感谢

    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");
    }
公共静态无效发送消息(DeviceHandle句柄,字节[]消息)
{
ByteBuffer buffer=ByteBuffer.allocateDirect(message.length);
buffer.put(消息);
//buffer.rewind();
int transferd=LibUsb.controlTransfer(句柄,
(字节)(LibUsb.REQUEST_TYPE_CLASS | LibUsb.RECIPIENT_接口),
(字节)0x09,(短)2,(短)1,缓冲区,超时);
如果(传输<0)
抛出新的libusbeexception(“控制传输失败”,已传输);
if(已传输!=消息长度)
抛出新的RuntimeException(“并非所有数据都已发送到设备”);
}
还有最后一件事,一旦我发送此消息并得到失败的响应,我必须关闭我试图与之通信的设备的电源,否则我会收到一条消息,它找不到我的设备