Android 实现USB转串口通信

本文记录了在Android平台上实现USB转串口通信的过程,包括遇到的问题和解决方法。作者使用工业安卓平板和USB转TTL数据线进行实验,发现Android官方文档未详细说明波特率配置等关键步骤。通过查阅资料,作者了解到需要特定驱动,并找到了PL2303芯片的官方驱动,成功实现了通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前我正在使用工业安卓平板做上位机,工业安卓平板带有232、485串口以及USB接口,通常驱动232、485接口需要有厂家提供的JNI库以及相关的java类。某天浏览Android Developers开发者指南时,看到了关于USB使用的文档,因此想参考文档做USB转串口的通信实验,但实验的过程中遇到了不少问题,特此记录。
说明一下实验所用的硬件:
1.工业安卓平板(带有USB接口)
2.USB转TTL数据线(芯片型号PL2303HXD)

遇到的问题

首先USB转TTL线插到工业安卓平板的USB口,然后根据参考文档(Android 开发者指南USB主机概览),获取UsbManager,利用UsbManager枚举出所有的UsbDevice,通过UsbDevice的getProductId()和getDeviceId()两个方法返回的Int值,与所需要通信设备的ProductId和DeviceId进行比较,最终得到所需要的设备UsbDevice。
取得所需要的UsbDevice后,找到该Device的对应的UsbInterface和UsbEndpoint,再打开UsbDeviceConnection建立连接,使用bulkTransfer()方法发送和接收数据。
这里说一下如何查看USB设备的Product Id和Device Id:将USB设备插到电脑上,通过设备管理器找到该端口,右击打开属性,属性栏中有一列详细信息,选中硬件信息就可以看到了,VID对应Android中的Device Id,PID对应Android中的Product Id,注意Window下查看的ID号是16进制的,Android中是10进制的,要进行一下进制转换(查看USB设备ID操作方法链

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值