第一课 · 串口入门:设备的"嘴"和"耳朵

2026-11-04
  • 10

/images课 · 串口入门:设备的"嘴"和"耳朵"

这是《串口通讯从入门到实战》系列的第一课。搞工业自动化的,绕不开设备之间的"说话"问题:PLC 和变频器怎么对话?传感器数据怎么传给电脑?答案都从一个最基础的东西开始——串口。

1. 串口是什么:设备身上的一扇小门

先说结论:串口,就是一种让两个设备互相说话的方式。

你可以把它理解成设备身上的一扇小门,数据从这扇门里一位一位地排队走出去,所以叫"串行接口"(Serial Port)。

串行 vs 并行

和它对比的是并行传输:8 根线、8 位同时走,看着快,但线一多成本高、还容易互相干扰。串口只用 1 根线,一次只走 1 位,慢是慢点,但简单、便宜、传得远——这也是它在工业现场活到今天的原因。

要记住的关键点:串口是硬件,是看得见、摸得着的物理接口,设备上那排针脚或者端子就是它。只要两台设备拥有同一种串口,它们就具备了相互通讯的物理条件。


2. 串口家族三兄弟

串口有很多种,常见的有三种:

串口家族

类型距离电平双工典型场景
RS232短距离,一对一±3 ~ ±15V全双工老式设备、工控机
RS485远距离,多点总线差分信号半双工工业现场主力
TTL板级极短距离0V / 3.3V 或 5V—单片机、Arduino、STM32

三种里重点认识 RS485:

  • 它不用电平高低表示 0 和 1,而是用两根线的差分信号(A 线和 B 线),抗干扰能力极强,所以传得远(最远一千多米);

  • 一条总线可以挂很多设备(手拉手并联),靠地址区分;

  • 代价是半双工:同一时刻只能一方说话,这也塑造了后面 Modbus"一问一答"的通讯规则。


3. 光有线路不够:还得说同一种语言

就像两个人打电话,线路通了,还得说同一种语言——这就是协议。

协议,就是两个设备提前约定好的一套规则:先发什么、后发什么、每一位代表什么意思,都得说清楚。没有协议,你收到的只是一堆 0 和 1,谁也看不懂。

在说协议之前,先看看物理层上一帧数据长什么样:

UART 帧结构

一帧 UART 数据 = 起始位 + 数据位 D0-D7 + 校验位 + 停止位:

  • 起始位:一个 0,告诉对方"我要开始说话了"

  • 数据位:8 位,一个字节的真正内容(低位 D0 先发)

  • 校验位:可选,简单检查数据有没有传错

  • 停止位:一个或多个 1,表示这帧结束

两台设备的波特率、数据位、校验位、停止位必须配置一致,这和后面 Modbus 组网的要求一脉相承。


4. 数据的两种"写法":ASCII 与十六进制

串口线上跑的是 0 和 1,但调试时人类得用看得懂的形式表示它们。常见两种:

两种表示

ASCII 码:把字符翻译成数字。比如大写字母 A 的 ASCII 码是 65(十六进制 0x41)。收到的数据如果都是可打印字符,按 ASCII 看就是一段文字。

十六进制:更贴近硬件的写法。一个字节刚好写成两位十六进制,比如 0x41。原始二进制数据(比如重量值、CRC 校验)通常都用十六进制看。

十六进制

0x41 = 65 = 二进制 0100 0001 = 字符 'A'

这两种表示方式是基本功:看协议文档、抓包调试、核对报文,全部建立在"认识十六进制字节"之上。从下一课开始,报文就是一串十六进制字节流。


5. 本课小结

概念一句话
串口设备间一位一位传数据的物理接口
RS232短距离、一对一、全双工
RS485远距离、差分信号、半双工、可挂多设备,工业主力
TTL单片机板级串口,0V / 3.3V / 5V
UART 帧起始位 + 8 数据位 + 校验位 + 停止位
协议设备间约定好的规则,没有协议只有乱码
ASCII / 十六进制数据的两种人类可读表示

下一篇,我们用这些知识去拆解工业界最常用的串口协议——Modbus RTU。

微信二维码

扫码添加微信