UART 是芯片内部硬件 + 帧协议;串口是对外物理接口(俗称叫法)。
芯片内部:UART 外设 → 引脚 TTL 串口 → 外加电平芯片变 RS232/485 串口。
1、层级拆解
- UART(内核,逻辑层)单片机片上硬件,规定:起始位、数据位、校验、停止位、波特率,只管数据打包拆解,无电压定义。
UART = 串口的通信规则 - TTL 串口(芯片引脚)UART 引出 TX/RX/GND 引脚,TTL 电平 (5V/3.3V),业内直接叫「串口」。 日常:单片机串口 = UART + TTL 电平
- RS232/RS485 接口(成品物理串口)TTL 经过 MAX232/485 收发器做电平转换,DB9 端子,依然跑 UART 协议,也叫串口。
2、最简关系式
- UART+TTL → TTL 串口(单片机引脚)
- UART+RS232 电平 → RS232 串口 (DB9)
- UART+RS485 差分 → 485 总线串口
3、易混关键点
- 有 UART 才会有串口,没有 UART 协议就不叫串口
- USB、CAN、I2C 不能叫串口,它们协议不是 UART
- 口语里大家混用:说 “串口” 99% 底层就是 UART
4、对比其他
- Modbus:应用协议,可以跑在 UART 串口上
- CAN:独立二层协议,不是 UART、不是串口
UART:芯片里面的电路 + 规矩(内在)串口:外面接线的口子(外在)
1.UART
单片机内部硬件模块,定死规则: 起始位、数据位、停止位、波特率,负责把并行数据转串行。看不见,在芯片里面。
2. 串口
从 UART 引出来的TX、RX、GND 三个引脚,这个物理接口俗称串口。
- 直接引出 =TTL 串口(3.3V/5V)
- 加 MAX232 芯片→DB9 插头 =RS232 串口
- 加 485 芯片→AB 两根线 =RS485 串口
关系式
UART(协议内核)+ 电平硬件 = 串口
所有我们说的串口,底层全是 UART 协议; 但 UART 只是内部模块,本身不带插头、不算接口。
举例
STC89C51: 芯片内部有1 路 UART→ P3.0 (RX) P3.1 (TX) 这两个引脚 =串口。
一句话记死
UART 是芯,串口是皮。