【问题标题】:LPC1347 USB4JavaLPC1347 USB4Java
【发布时间】:2016-02-22 08:24:57
【问题描述】:

如何使用 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。

【问题讨论】:

    标签: java lpc usb4java


    【解决方案1】:

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

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

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

    iface.release();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多