我在galaxy tab p7300中编写了一个应用程序,通过otg cable与密钥(scsi设备)进行通信.我可以使用bulkTransfer()第一次读取数据,但下次不能.然后我使用Ellisys Visual USB来嗅探数据,我发现该键确实返回了13个字节的数据.但是在android客户端(GT-P7300)中,我收到-1,即bulkTransfer返回.我已经实现了我的想法.感谢任何能给我一些线索的人.
使用USB批量传输时,以下是交易失败时要检查的事项列表
a)验证已通过bulkTransfer函数的端点的方向
b)确保缓冲区有足够的长度来存储输入数据
c)长度字段可能是最重要的.如果您知道响应的确切大小,请使用它.
d)Timeout参数.如果向设备发送查询并且在侦听响应时没有提供足够的超时,则bulkTransfer可以返回-1.
看起来超时会影响您的Case中的行为.我的建议是在每个响应的长度字段中使用确切的字节数,并使用更长的超时(如1000),以便为批量请求提供足够的时间来完成.
| 归档时间: |
|
| 查看次数: |
5546 次 |
| 最近记录: |