嵌入式测试学习第 24 天:串口通信详细流程、收发数据原理

串口通信详细流程、收发数据原理


一、串口硬件组成

1)开发板串口排针(设备端)

丝印:TX、RX、GND

  • TX:发送
  • RX:接收
  • GND:地(必须共地)

2)USB转TTL模块(CH340,电脑↔设备)

引脚:TX、RX、GND、VCC

  • 指示灯:PWR(红)、TX/RX(绿)
  • 关键:3.3V/5V 拨码,STM32必须用3.3V。

二、串口接线(交叉连接,重中之重)

正确接法(必须交叉)

复制代码
开发板 TX → 模块 RX
开发板 RX → 模块 TX
开发板 GND ↔ 模块 GND

实拍接线图

  • 彩色杜邦线交叉接 TX/RX
  • 黑线统一接 GND
  • ❌ 错:TX→TX、RX→RX,完全不通

三、串口通信完整流程(6步)

1)硬件连接

  • 按上面交叉接法接好
  • USB插入电脑 → 设备管理器出现 COMx
  • 驱动异常:CH340驱动未装 → 找不到串口

2)串口参数配置(两端必须一致)

4个核心参数

  • 波特率:115200(最常用)
  • 数据位:8
  • 停止位:1
  • 校验位:None

SSCOM串口助手界面

操作:选COM口→填参数→打开串口

3)设备初始化(固件动作)

单片机上电后:

  • 配置TX/RX引脚为串口功能
  • 设置波特率、8N1
  • 开启收发中断
  • 硬件就绪

4)数据发送流程(设备→电脑)

  1. 固件把数据写入发送缓冲区
  2. UART把并行字节 → 串行电平脉冲
  3. TX引脚输出电平 → 到模块RX
  4. 模块转USB → 电脑串口助手显示
  5. 现象:模块RX灯闪烁,助手显示文字

5)数据接收流程(电脑→设备)

  1. 串口助手发数据 → 模块TX输出电平
  2. 开发板RX检测到下降沿 → 触发接收中断
  3. 逐位采样 → 还原字节 → 存入接收缓冲区
  4. 固件读取数据并响应(如回显)
  5. 现象:开发板TX灯闪烁

6)通信结束

断电/拔USB/关串口 → 链路断开


四、收发底层原理 + 示波器波形(核心)

UART是异步串行通信无时钟线,靠波特率同步

1)一帧数据结构(8N1)

复制代码
空闲高电平 → 起始位(低) → 8数据位 → 停止位(高)

2)电平定义(3.3V TTL)

  • 空闲:高电平(3.3V)
  • 逻辑1:高电平
  • 逻辑0:低电平

3)真实示波器波形

发送字符 'A'(0x41=01000001)

波形解读:

  1. 空闲位:持续高电平
  2. 起始位:拉低(通知接收方准备)
  3. 数据位(8位,低位先传)
    1 0 0 0 0 0 1 0
  4. 停止位:拉高(本帧结束)

多发波形示例(0x55、0xAA)

4)收发原理一句话

  • 发送:并行 → 串行(TX输出)
  • 接收:串行 → 并行(RX采样)
  • 波特率:决定每一位持续时间(115200≈8.68μs/位)

五、实操演示(完整收发效果)

场景:STM32发"Hello UART"→电脑接收

现象:

  • 串口助手显示:Hello UART
  • 模块TX/RX灯快闪
  • 开发板TX灯同步闪

回显测试(电脑发→设备回发)

  • 助手输入 test123 → 发送
  • 设备收到后原路返回 → 助手显示 test123
  • 闭环验证:收发正常

六、嵌入式测试常见故障

1)完全无数据(空白)

  • 原因:TX/RX接反、GND没接、COM选错、驱动缺失
  • 排查:核对交叉接线 → 检查黑线 → 重装CH340驱动

2)乱码(问号/怪字符)

  • 原因:参数不匹配(波特率/数据位/停止位不一致)、3.3V接5V
  • 排查:两端统一115200/8N1 → 确认模块3.3V档

3)断断续续、丢包

  • 原因:GND接触不良、线太长、靠近电机/继电器干扰
  • 排查:重接GND → 缩短线材 → 远离强干扰

4)能发不能收 / 能收不能发

  • 原因:单侧引脚虚焊、固件驱动配置错
  • 排查:示波器测TX/RX波形 → 判断硬件还是固件问题

七、总结

  1. 接线铁律:TX↔RX、RX↔TX、GND必连
  2. 参数铁律 :波特率/数据位/停止位/校验位完全一致
  3. 波形规律:空闲高 → 起始低 → 8位数据 → 停止高
  4. 排查顺序:接线 → 驱动 → 串口 → 参数 → 波形 → 固件

相关推荐
✎ ﹏梦醒͜ღ҉繁华落℘4 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
u152109648494 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd8451015004 天前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼4 天前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
wohoo_wangzi4 天前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
✎ ﹏梦醒͜ღ҉繁华落℘4 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展4 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件
集芯微电科技有限公司4 天前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设
踏着七彩祥云的小丑4 天前
嵌入式测试学习第 37 天:异常场景测试:断电、拔插、干扰、非法指令
单片机·嵌入式硬件·学习
望眼欲穿的程序猿4 天前
读取芯片内部温度传感器
嵌入式硬件·rust