0

如何使用 Java 和 USB4Java 库从具有 HID 配置的 LPC1347 发送和读取数据字节?

我可以识别具有以下属性的设备:

private static short VENDORID = 0x1fc9;// 8137
private static short PRODUCTID = 0x2000;// 8192

LPC1347 上的端点是:

private static short HID_ENDPOINT_OUT = 0x01;
private static short HID_ENDPOINT_IN = 0x81;

在我的代码中,我使用了以下内容:

UsbEndpoint endpoint = iface.getUsbEndpoint((byte) 0x55);
UsbPipe pipe = endpoint.getUsbPipe();
pipe.open();
try {
// read
byte[] data = new byte[8];
int received = pipe.syncSubmit(data);
System.out.println(received + " bytes received");
} finally {
pipe.close();
}   

我收到以下错误:

USB 错误 1:中断端点上的传输错误:输入/输出错误

同样在 LPC1347 中设置如下: extern uint8_t InReport[23]; extern uint8_t OutReport[23];

对于第一个字节,我用来读取报告(INPUT_REPORT)0x55 并写入(OUTPUT REPORT)0xAA。

4

1 回答 1

0

我看不到您在发送数据之前已经声明了接口。尝试这个:

iface.claim(new UsbInterfacePolicy()
    {            
        @Override
        public boolean forceClaim(UsbInterface usbInterface)
        {
            return true;
        }
    });

然后你可以插入你的代码。最后你应该释放接口(我会在 finally 子句中做):

iface.release();
于 2016-07-18T20:19:31.450 回答