USART
基本概念
通用同步异步收发传输器(USART)是一种全双工串行通信接口,设备通过定义明确的帧结构进行数据交换,支持同步和异步两种工作模式。 对比
| 名称 | 引脚 | 双工 | 时钟 | 电平 | 设备 |
|---|---|---|---|---|---|
| USART | TX、RX | 全双工 | 异步 | 单端 | 点对点 |
| I2C | SCL、SDA | 半双工 | 同步 | 单端 | 多设备 |
| SPI | SCLK、MOSI、MISO、CS | 全双工 | 同步 | 单端 | 多设备 |
| CAN | CAN_H、CAN_L | 半双工 | 异步 | 差分 | 多设备 |
| USB | DP、DM | 半双工 | 异步 | 差分 | 点对点 |
| # 硬件连接方式 |

信号电平标准
| 电平标准 | 逻辑0 | 逻辑1 | 应用场景 |
|---|---|---|---|
| TTL | 0V | 3.3V/5V | 板内通信 |
| RS232 | +3V to +15V | -3V to -15V | 长距离通信 |
| RS485 | -1.5V to -6V | +1.5V to +6V | 工业现场 |
关键参数
-
波特率:串口通信的速率
-
起始位:标志一个数据帧的开始,固定为低电平
-
数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行
-
校验位:用于数据验证,根据数据位计算得来(可设置)
-
停止位:用于数据帧间隔,固定为高电平(一般为1位)
帧结构组成
典型数据帧格式:


帧结构参数配置表:
| 组成部分 | 位数 | 功能说明 |
|---|---|---|
| 起始位 | 1位 | 标志传输开始,将线路从空闲高电平拉低 |
| 数据位 | 5-9位 | 有效数据载荷,通常为8位 |
| 校验位 | 0/1位 | 奇偶校验,用于错误检测 |
| 停止位 | 1/1.5/2位 | 标志帧结束,返回高电平状态 |
通信模式对比
| 模式 | 数据流向 | 硬件需求 | 应用场景 |
|---|---|---|---|
| 全双工 | 同时双向传输 | TX、RX独立 | 实时数据交互 |
| 半双工 | 双向交替传输 | 单数据线 | 多设备共享总线 |
| 单工 | 单向传输 | 单向线路 | 传感器数据读取 |
波特率
波特率与精度关系:
实际波特率误差(%) = |(实际值 - 理论值)| / 理论值 × 100%
要求:误差 < 2.5% (通常标准)
常用波特率配置表:
| 波特率 | 时钟源要求 | 适用场景 |
|---|---|---|
| 9600 | 低频时钟 | 长距离通信 |
| 115200 | 标准时钟 | 常用速率 |
| 460800 | 高频时钟 | 高速传输 |
| 1M以上 | 专用时钟 | 特殊应用 |
时序例子
