关于Android终端机串口的理解

  • Post author:
  • Post category:其他




前言

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

一般来说,终端设备包括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



版权声明:本文为u011082160原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。