通过Android 3.1上的USB端口读取和写入数据

时间:2012-04-26 19:43:56

标签: java android usb tablet

我正在尝试编写一个Android应用程序,用于从Android平板电脑读取和写入数据到我们的嵌入式设备。平板电脑和嵌入式设备通过USB连接到串行转换器。是否可以将嵌入式设备中的数据读入我们的Android平板电脑?我可以查看任何示例代码吗?

2 个答案:

答案 0 :(得分:1)

我建议使用移植的usb-for-android lib,它已经实现了PL2303驱动程序: https://code.google.com/r/felixhaedicke-usb-serial-for-android

我已成功使用它。

答案 1 :(得分:0)

由于串口转换器是USB 设备,因此Android平板电脑必须充当USB 主机。此功能自Android 3.1起可用。 API文档可在android developer page上找到,其中包含代码示例。

要与转换器进行实际通信,您必须了解更多关于它的内部结构:市场上有许多不同的设备,一些使用USB HID,另一些使用USB CDC设备类或甚至不遵守任何设备类。 linux lsusb 命令可能有助于获取设备/接口描述符。

在典型的CDC设备上,您必须与两个批量端点进行交互,并可能使用一些与接口相关的请求来设置波特率等。请参阅USB implementers forum.上的通信设备类规范

如果您的设备只有一个IN和一个OUT批量端点(在控制端点旁边),您可能会尝试使用OUT端点上的UsbDeviceConnection.bulkTransfer()方法将一些字节写入串行线路。这很有可能只是工作,但是对于干净的实现,你应该坚持类规范。