
UsbInterface intf = device.getInterface(0);UsbEndpoint endpoint = intf.getEndpoint(0);UsbDeviceConnection connection = manager.openDevice(device);connection.claimInterface(intf,forceClaim);connection.bulkTransfer(endpoint,bytes,bytes.length,TIMEOUT); //do in another thread
ADNS-5000规范(可以用Google搜索)定义了一些“USB命令”,例如:
Mnemonic: Get_Status_Device
Command: 80 00 00 00 00 00 02 00
Notes: normally returns 00 00,Self powered 00 00,Remote wakeup 02 00
所以我理解为:当我写数据时:
private byte[] bytes = {(byte) 0x80,0x00,0x02,0x00}; 到设备我应该得到0x00,0x00或0x00,0x00(这可能是规范中的错误,因为这个字节序列定义为两个不同状态的结果)或0x20,0x00作为回报,但我没有看到任何方式API返回任何东西,对吗?
解决方法 我快速浏览了ADNS-5000规范.有一件事是肯定的,你有IN和OUT端点可用.Get_Status_Endpt0 82 00 00 00 xx 00 02 00 OUT: xx=00,IN:
xx=80 normally returns 00 00
这意味着命令(没有API)可以返回结果.
我能想象的唯一方法是将命令写入OUT端点并从IN端点读取(通过轮询)状态(在命令执行之后).
这是我在一些项目中使用的东西,它非常好.我不确定ADNS-5000,因为我没有检查USB协议的细节.
希望能帮助到你.
总结以上是内存溢出为你收集整理的如何进入Android Usb主机主机发送命令后的Usb设备响应?全部内容,希望文章能够帮你解决如何进入Android Usb主机主机发送命令后的Usb设备响应?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)