【发布时间】:2018-06-27 08:31:34
【问题描述】:
我正在使用 Android Studio 为 Pico i.MX7Dual 开发板上的 Android Things 目标进行编程。 我有一个 USB 串行转换器(“USB 到 4 端口串行”),我想与每个串行端口进行通信。 我尝试使用 USB Host API 列出设备:
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
while(deviceIterator.hasNext()){
UsbDevice device = deviceIterator.next();
Log.d("USBList",device.toString());
}
我在 Logcat 中获得了它:
D/USBList: UsbDevice[mName=/dev/bus/usb/001/005,mVendorId=38672,mProductId=30784,mClass=255,mSubclass=0,mProtocol=255,mManufacturerName=null,mProductName=null,mVersion=2.0,mSerialNumber=null,mConfigurations=[
UsbConfiguration[mId=1,mName=null,mAttributes=160,mMaxPower=50,mInterfaces=[
UsbInterface[mId=0,mAlternateSetting=0,mName=null,mClass=255,mSubclass=0,mProtocol=255,mEndpoints=[
UsbEndpoint[mAddress=129,mAttributes=2,mMaxPacketSize=512,mInterval=255]
UsbEndpoint[mAddress=2,mAttributes=2,mMaxPacketSize=512,mInterval=255]
UsbEndpoint[mAddress=131,mAttributes=2,mMaxPacketSize=512,mInterval=255]
UsbEndpoint[mAddress=4,mAttributes=2,mMaxPacketSize=512,mInterval=255]
UsbEndpoint[mAddress=133,mAttributes=2,mMaxPacketSize=512,mInterval=255]
UsbEndpoint[mAddress=6,mAttributes=2,mMaxPacketSize=512,mInterval=255]
UsbEndpoint[mAddress=135,mAttributes=2,mMaxPacketSize=512,mInterval=255]
UsbEndpoint[mAddress=8,mAttributes=2,mMaxPacketSize=512,mInterval=255]
UsbEndpoint[mAddress=137,mAttributes=3,mMaxPacketSize=16,mInterval=5]]]]
如果我理解的话,我必须通过 UsbInterface 与 UsbEndpoint 通信,但我只有 4 个串行端口但获得了 9 个 UsbEndpoint。
所以我不知道接下来要做什么来识别与之通信的好的 UsbEndPoint。
提前致谢。
【问题讨论】:
标签: android android-studio serial-port usb android-things