繁体   English   中英

Usb4Java:管道错误(-9)

[英]Usb4Java: Pipe Error (-9)

我想使用Usb4Java的低级API将单个包发送到USB设备(Arduino控制器),但收到以下错误:

 org.usb4java.LibUsbException: USB error 9: Pipe error

这是关键部分的代码:

            ByteBuffer buffer = ByteBuffer.allocateDirect(8);
            buffer.put(new byte[] {'a', 'b', 'c'});
            int transfered = LibUsb.controlTransfer(handle,
                    (byte) (LibUsb.REQUEST_TYPE_CLASS | LibUsb.RECIPIENT_INTERFACE),
                    (byte) 0x09,
                    (short) 256,
                    (short) 0,
                    buffer,
                    1000);
            System.out.println(transfered);
            if (transfered < 0){
                throw new LibUsbException("Control transfer failed", transfered);

我认为这可能与驱动程序相关或与LibUsb.controlTransfer(...);的参数有关LibUsb.controlTransfer(...); 也许值得一提:源计算机正在运行Windows 7。

libusb API对控制传输中的错误进行了以下说明:

“ LIBUSB_ERROR_PIPE,如果设备不支持控制请求”

似乎不支持您尝试发送的控件传输。 也许这不是控制器期望的命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM