Android USB转串口通信开发基本流程
好久没有写文章了,年前公司新开了一个项目,是和usb转串口通信相关的,需求是用安卓平板通过usb转接后与好几个外设进行通信,一直忙到最近,才慢慢闲下来,趁着这个周末不忙,记录下usb转串口通信开发的基本流程。 我们开发使用的是usb主机模式,即:安卓平板作为主机,usb外设作为从机进行数据通信。整个开发流程可以总结为以下几点: 1.发现设备 usbList = usbManager.getDeviceList();1 2 1 2 " data-snippet-id="ext.1d1481e9c3517ce217b699b6673dd389" data-snippet-saved="false" data-codota-status="done">`<span class="typ">UsbManager</span><span class="pln"> usbManager </span><span class="pun">=</span> <span class="pun">(</span><span class="typ">UsbManager</span><span class="pun">)</span><span class="pln"> context</span><span class="pun">.</span><span class="pln">getSystemService</span><span class="pun">(</span><span class="typ">Context</span><span class="pun">.</span><span class="pln">USB_SERVICE</span><span class="pun">);</span> <span class="typ">Map</span><span class="pun"><</span><span class="typ">String</span><span class="pun">,</span> <span class="typ">UsbDevice</span><span class="pun">></span><span class="pln"> usbList </span><span class="pun">=</span><span class="pln"> usbManager</span><span class="pun">.</span><span class="pln">getDeviceList</span><span class="pun">();</span>` 通过UsbManager这个系统提供的类,我们可以枚举出当前连接的所有usb设备,我们主要需要的是UsbDevice对象,关于UsbDevice这个类,官方是这样注释的: `<span class="typ">This</span> <span class="kwd">class</span><span class="pln"> represents a USB device attached to the android device </span><span class="kwd">with</span><span class="pln"> the android device acting </span><span class="kwd">as</span><span class="pln"> the USB host</span><span class="pun">.</span>` 是的,这个类就代表了android所连接的usb设备。 ...