一文让你彻底搞懂串口通信
时间:2026-10-27
串口通信(Serial Communication)是一种通过单根数据线逐位传输数据的通信方式,常用于嵌入式系统、工业设备、传感器、计算机外设等场景。一、串口通信参数1. 波特率(Baud Rate)定义 :每秒传输的符号数(单位:bps,bits per second)。常见值 :9600、19200、38400、115200 等。要求 :通信双方的波特率必须一致,否则数据会解析错误。2. 数据位(Data Bits)定义 :每个数据帧中实际传输的有效数据位数。可选值 :5、6、7、8 位(常用 8位,对应一个字节)。3. 停止位(Stop Bits)定义 :标志数据帧结束的位,用于同步时钟。可选值 :1位、1.5位、2位(常用 1位)。 4. 校验位(Parity Bit)定义 :用于检测数据传输过程中的错误。类型 :无校验(None) :不进行校验。奇校验(Odd) :数据位中“1”的个数为奇数时,校验位为0。偶校验(Even) :数据位中“1”的个数为偶数时,校验位为0。 二、数据帧格式一个完整的串口数据帧由以下部分组成(以 8N1 格式为例) | 起始位 | 数据位(D0-D7) | 校验位 | 停止位 |
起始位:1位低电平(逻辑0),标志数据帧开始。
数据位:低位(LSB)在前,高位(MSB)在后。
校验位:可选(根据校验类型决定是否包含)。
停止位:1位高电平(逻辑1),标志数据帧结束。
三、物理接口标准
RS-232:
电平:±3~15V(逻辑1=-3~-15V,逻辑0=+3~+15V)。
传输距离:<15米。
TTL UART:
电平:0V(逻辑0)、3.3V/5V(逻辑1)。
传输距离:<1米(需电平转换芯片延长距离)。
RS-485:
差分信号,抗干扰强,支持长距离(千米级)。
适用于工业多节点通信。
四、通信流程1. 发送端:拉低起始位 → 发送数据位 → 计算并发送校验位 → 拉高停止位。2. 接收端:检测起始位下降沿 → 按波特率采样数据位 → 校验数据 → 检测停止位五、同步 vs. 异步通信
异步通信(常用):
无独立时钟线,依赖起始位和停止位同步。
双方需预先约定波特率。
同步通信:
需额外时钟线(如SPI、I2C),传输效率更高。
串口通信一般默认为异步模式