Android之USB转串口通信-基本流程

本文记录了在Android项目中使用USB转串口通信的流程,涉及kotlin语言和第三方库usb-serial-for-android。重点是配置ProlificSerialDriver的参数,如波特率、数据位、停止位和奇偶校验,以及避免配置中的陷阱。提供了一个USBSerialPortManager工具类的核心代码示例,适用于多数情况。
摘要由CSDN通过智能技术生成

背景:近期公司一个项目对接第三方支付设备(类似平板的设备外接usb转串口设备),需要使用usb转串口,实现通信和交互,今天记下过程。

有引用这个库 https://github.com/mik3y/usb-serial-for-android,感谢开源的大佬。

这个库已经集合了一般的芯片协议,就不需要自己再配置了。我们设备是用的ProlificSerialDriver.

唯一要注意的是配置设备的参数:波特率,数据位,体制位,奇偶校验等。其中我就在奇偶校验的参数配置上坑了一把。

只需要按照流程,注意些细节就能跑。

贴下核心的几段代码:

import android.hardware.usb.UsbDevice
import android.hardware.usb.UsbDeviceConnection
import android.hardware.usb.UsbManager
import com.hoho.android.usbserial.driver.UsbSerialPort
import com.hoho.android.usbserial.driver.UsbSerialProber

class ZYDataSource(){
    var mUsbSeriaPortManager: USBSerialPortManager? = null
    private var usbDeviceConnection: UsbDeviceConnection? = null
    private var mDevice: UsbDevice? = null
    private var mUsbSerialPort: UsbSerialPort? = null
    private var usbPermissionReceiver: UsbPermissionReceiver? = null

    private var mUsbManager: UsbManager? = null
    
    /**
    * 初始化
    */
    override fun initCompletable(context: Context): Completable {
        return Completable.create() {
            mUsbManager = context.getSystemService(Context.USB_SERVICE) as UsbManager
            //查找所有设备
            val driversList = Usb
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值