我正在尝试从 Android 中的定制 USB 设备(作为从设备工作)读取数据。我能够使用以下代码将数据写入设备:
UsbRequest request = new UsbRequest();
request.initialize(_outConnection, _outEndpoint);
int bufferDataLength = _outEndpoint.getMaxPacketSize();
ByteBuffer buffer = ByteBuffer.allocate(bufferDataLength + 1);
buffer.put(bytes);
if (request.queue(buffer, bufferDataLength)) {
UsbRequest req = _outConnection.requestWait(); }
我在我的设备连接到的调试板上看到了结果。我正在尝试使用相同的方法来读取数据,但显然这不起作用:
int siz = 1;
ByteBuffer res = ByteBuffer.allocate(siz + 1);
UsbRequest request = new UsbRequest();
request.initialize(_inConnection, _inEndpoint);
request.queue(res, siz); // This return false always
我究竟做错了什么?我不知道发回的数据包的大小 - 但我假设我总是能够读取 1 个字节。
我的设备具有带两个中断端点(IN 和 OUT)的 HID 接口