关于Android终端机串口的理解

前言

有时候开发,掌握一定理论知识,有助于缕清思路,避免走弯路,提高开发效率。

一般来说,终端设备包括Android系统及其关联的硬件模块的组合体,Android系统与硬件通讯有多种连接方式,比如常见的串口,usb,wifi,蓝牙等连接方式,不同连接方式在传输速率、性能、协议、应用场景等方面各有不同。其中串口一般是指传统的串口RS232((也叫COM口,通讯口))。广义串口包含USB接口,usb就是通用串行总线(Universal Serial Bus, USB)。传统串口相信不久会被市场淘汰,目前市场上大部分是usb口。

串口

串口是指利用串行方式传输数据的接口,它是一大类接口,USB接口、RS232接口、网线RJ45接口、RS485接口、SATA接口等等都属于串口。各种串口之间的通讯协议、接口电平等并不完全相同,传输速率也不同,因此有一种串口得到另一种串口时需要转换。
通用串行总线(Universal Serial Bus, USB)是连接外部设备的一个串口总线标准,在计算机上使用广泛,但也可以用在机顶盒和游戏机上,补充标准(On-The-Go)使其能够用于在便携设备之间直接交换数据。

传统串口连接:

Android上串口连接一般使用google的库android-serialport-api,串口有五个重要的参数:串口设备名,波特率,检验位,数据位,停止位, 其中检验位一般默认位NONE,数据位一般默认为8,停止位默认为1。
串口操作流程:

  1. 打开串口
  2. 读写串口
  3. 关闭串口

推荐一个基于android-serialport-api编译,可用在Android上的库:Android-SerialPort-API,或者自己下载编译

USB COM

USB转串口即实现计算机USB接口到通用串口之间的转换。为没有串口的计算机提供快速的通道,而且,使用USB转串口设备等于将传统的串口设备变成了即插即用的USB设备。USB连接中需要知道对应USB设备的vendorId(设备厂商Id)和productId(设备产品Id),这两个id主要是用于连接和过滤设备,参考:https://www.cnblogs.com/blogzhangwei/p/4758230.html

USB转串口一般都需要驱动,常见的驱动程序有PL23xx、CP21xx、FTD、CDC_ACM、CH34XX等,驱动程序被植入到硬件设备中,作为一块驱动芯片存在。

开发使用这个库:usb-serial-for-android,就可以实现USB COM开发,该库支持:

  • FTDI FT232R, FT232H, FT2232H, FT4232H, FT230X, FT231X, FT234XD
  • Prolific PL2303
  • Silabs CP2102 and all other CP210x
  • Qinheng CH340, CH341A

蓝牙串口

蓝牙串口是基于SPP协议(Serial Port Profile),能在蓝牙设备之间创建串口进行数据传输的一种设备。蓝牙串口的目的是针对如何在两个不同设备(通信的两端)上的应用之间保证一条完整的通信路径。平时Android蓝牙连接都需要一个UUID,不同UUID的含义也不同,其中有一个是蓝牙串口服务的ID。

//蓝牙串口服务的ID
 UUID BluetoothUUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

硬件通讯

针对以上硬件通讯需求, 本人封装了一个通用的硬件连接库,DeviceConnector,欢迎Star,用法参考:https://blog.csdn.net/u011082160/article/details/126119843

扩展资料:

串口其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

作为应用最广泛的USB接口,每台电脑必不可少的通讯接口之一,它的最大特点是支持热插拨,即插即用。传输速度快。对于大多数工程师来说,开发USB2.0 接口产品主要障碍在于:要面对复杂的USB2.0协议、自己编写USB设备的驱动程序、熟悉单片机的编程。

参考:

https://baike.baidu.com/item/%E4%B8%B2%E8%A1%8C%E6%8E%A5%E5%8F%A3/2909564?fromtitle=%E4%B8%B2%E5%8F%A3&fromid=1250303&fr=aladdin

https://baike.baidu.com/item/%E8%93%9D%E7%89%99%E4%B8%B2%E5%8F%A3/1415870

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值