这一章在干嘛?
232 实验:RS-232 电平转换、SP3232 收发器、与 PC 串口直连。理解电平差异,调试老设备。
29.1 232 简介
RS-232(EIA-232)= 老牌串行通信标准(1962 年)。
电平差异:
| 逻辑 | RS-232 | TTL/MCU |
|---|---|---|
| 1 (Mark) | -3 V ~ -15 V | 3.3 V |
| 0 (Space) | +3 V ~ +15 V | 0 V |
原书图 29.1.1:RS-232 与 TTL 电平对比
注意:232 的「1/0」与 TTL 相反(负逻辑)。所以必须用收发器(如 SP3232、MAX3232)转换。
| 参数 | RS-232 |
|---|---|
| 距离 | ~15 m |
| 速率 | 115.2 kbps(典型) |
| 节点 | 点对点 |
USB-TTL 转换器(如 CH340)也走 232 协议,只是电平逻辑转换内置了。
29.2 硬件设计
USART2 经 SP3232 引出 9 针 DB9(TXD/RXD/GND)。
原书图 29.2.1:SP3232 接线图
29.3 程序设计
29.3.1 CubeMX 配置
- USART2 → 115200-8-N-1
29.3.2 关键代码
与 485 几乎一样(只是没有收发切换):
HAL_UART_Transmit(&huart2, "Hello\r\n", 7, 100);
HAL_UART_Receive_IT(&huart2, &rx_byte, 1);
原书图 29.3.2.1:232 通信测试界面
29.4 下载验证
PC 串口助手通过 USB-TTL 接开发板 DB9 → 收发字符串。
RS-232 与 TTL 电平差异?
RS-232 是 ±3~15V 负逻辑,TTL 是 0/3.3V 正逻辑。
232 通信距离典型值?
15 m。
为什么必须用收发器?
电平标准不同,需 SP3232/MAX3232 转换。