【发布时间】:2016-05-27 04:04:34
【问题描述】:
我创建了一个 Android 通信来向/从 USB 发送和接收数据
int iRes2 = conn.bulkTransfer(epOUT, bcdInfo.cbwBuffer.array(), 31, 2000);
iRes2 = conn.bulkTransfer(epOUT, bcdInfo.finalBSTD.array(), 512, 2000);
bcdInfo.requestData();
iRes2 = conn.bulkTransfer(epIN, bcdInfo.cswBuffer, 512, 2000);
iRes2 = conn.bulkTransfer(epOUT, bcdInfo.cbwBuffer.array(), 31, 2000);
iRes2 = conn.bulkTransfer(epIN, bcdInfo.cswBuffer, 512, 2000);
我收到了正确的数据。问题是,我只有在以下情况下才能获得正确的数据:
- 我删除了另一个命令通信。假设上面的代码是 命令 A。如果我将命令 B 放在命令 A 的上方,那么我得到了 A指令数据错误。
- 每次我都将 USB 插入 Android 设备 想调试。意味着我需要拔下 USB 并重新插入 Android 每次调试前再次设备。
【问题讨论】: