启用DTR / DTE的USB通信

时间:2017-10-17 18:18:04

标签: android usb host

我开发了一个Android应用程序,它连接到外部USB设备以发送和接收消息。

我遵循官方Android主机USB API的指导原则(以及其他一些SO帖子): https://developer.android.com/guide/topics/connectivity/usb/host.html

除了一件事,一切正常: 当我的应用程序未连接时,外部USB设备似乎正在发送数据,导致USB缓冲区溢出 - 这会停止设备。

根据设备制造商的说法,解决方案是启用DTR / DTE(我不得不承认我并不真正理解它是什么)。但这显然可以让他们检查我的应用是否正在收听,然后才发送他们的数据。

那么,请您分享一下如何在Android USB连接上启用DTR / DTE的代码示例?

更新

经过一些搜索后,我似乎需要使用 UsbDeviceConnection.controlTransfer 方法 - 但我不知道参数应该是什么。

1 个答案:

答案 0 :(得分:0)

我终于找到了答案:

connection.controlTransfer(0x21, 0x22, 0x1, 0, null, 0, 0);

我在这里找到了它:Android USB host read from device