一、串口协议
(1)串口通信的定义
串口通信(Serial Communication),是指外设和计算机间通过数据信号线、地线等按位进行传输数据的一种通信方式,属于串行通信方式。串口是一种接口标准,它规定了接口的电气标准,没有规定接口插件电缆以及使用的协议。
(2)接口标准
串口通信的接口标准有很多,有 RS-232C、RS-232、RS-422A、RS-485 等。常用的就是 RS-232 和 RS-485。RS-232其实是 RS-232C 的改进,原理是一样的。这里我们就以 RS-232C 接口进行分析。RS-232C 是 EIA(美国电子工业协会)1969 年修订 RS-232C 标准。
RS-232C定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。RS-232C 接口规定使用 25 针连接器,简称 DB25,连接器的尺寸及每个插针的排列位置都有明确的定义,如下图所示:
RS-232C 还有一种 9 针的非标准连接器接口,简称 DB9。串口通信使用的大多都是 DB9 接口。DB25 和 DB9 接头有公头和母头之分,其中带针状的接头是公头,而带孔状的接头是母头。
从图中可以看到公头和母头的管脚定义顺序是不一样,这一点需要特别注意。这些管脚都有什么作用呢?9 针串口常用管脚的功能说明如下图所示:
数据通信最少需要3根线: TXD RXD GND
在串口通信中,通常我们只使用 2、3、5 三个管脚,即 TXD、RXD、GND,其他管脚功能大家看不明白也没关系。
(3)TTL 电平和 RS232 电平
一、TTL 电平标准
- 输入 L:<1.2V ;H:>2.0V
- 输出 L:<0.8V ;H:>2.4V
CPU输入低于1.2V就认为是0,高于2.0V就认为是1;输出低电平要小于0.8V,高电平要大于2.4V。
二、RS232 电平标准
在 TXD 和 RXD 数据线上: