news 2026/8/11 14:00:00

从示波器波形读懂 UART 的 8N1 数据帧:以 `0x52` 为例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从示波器波形读懂 UART 的 8N1 数据帧:以 `0x52` 为例

1. UART 空闲状态与帧结构

UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)线路在没有发送数据时保持高电平。以最常见的8N1为例:

  • 8:8 位数据位;
  • N:No parity,无校验位;
  • 1:1 位停止位。

一帧由以下部分组成:

起始位 + 8位数据 + 停止位

因此一帧总长度为:

1 + 8 + 1 = 10 bit

起始位固定为低电平,停止位固定为高电平。


2.0x52的二进制表示

0x52 = 0101 0010

写成各数据位:

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0 1 0 1 0 0 1 0

3. UART 默认是低位先发送

普通 UART 默认使用:

LSB first:Least Significant Bit first,最低有效位先发送

所以数据位在线路上的实际发送顺序是:

bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7 0 1 0 0 1 0 1 0

加上起始位和停止位后,按真实时间顺序应为:

起始位 数据位 停止位 0 0 1 0 0 1 0 1 0 1

合起来:

0010010101

因此,如果 USART 未配置高位优先,0x52的 8N1 波形应按时间读成:

0010010101

4. 为什么示波器上可能看到1010100100

示波器画面不一定按照“左边最早、右边最新”显示。应先确认横轴的时间方向。

如果示波器屏幕从左到右显示为:

1010100100

但右侧才是最早发生的信号,那么真实时间顺序应从右往左读取:

0 0 1 0 0 1 0 1 0 1

也就是:

0010010101

这正好符合0x52的低位先发送格式。

所以判断 UART 数据时,不能只看屏幕上的左右排列,必须先确定:

哪一侧是较早时间

5. 如何确定一帧的起点

UART 空闲时为高电平,起始位为低电平。因此:

空闲高电平 → 下降到低电平

这个下降沿就是候选起始位。

读波形时应执行:

  1. 找到空闲高电平到低电平的下降沿;
  2. 把该低电平作为起始位;
  3. 按每个 bit 的时间间隔依次读取数据位;
  4. 最后检查停止位是否为高电平。

不要直接从示波器画面的最左边或最右边开始读,必须先找到起始位。


6. 如果配置为高位先发送

USART也可以配置为:

MSB first:Most Significant Bit first,最高有效位先发送

此时0x52的数据位顺序变为:

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0 1 0 1 0 0 1 0

完整的8N1时间顺序为:

起始位 + 数据位 + 停止位 0 0 1 0 1 0 0 1 0 1

合起来是:

0010100101

因此:

低位先发送:0010010101 高位先发送:0010100101

两者区别只在于 8 个数据位的顺序,起始位和停止位不变。


7. 结论

看到 UART 波形时,应按下面的顺序判断:

先确定时间方向 → 找到空闲高电平到低电平的下降沿 → 确认起始位 → 根据 LSB/MSB 方向读取数据位 → 检查停止位

对于0x528N1、默认低位先发送:

真实时间顺序:0010010101

如果示波器屏幕显示相反方向,则画面可能显示为:

1010100100

这不代表数据错了,而可能只是示波器的时间方向与读取方向相反。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/11 13:58:42

C/C++结构体内存对齐:原理、计算与实战优化指南

1. 项目概述:为什么结构体内存对齐是C/C程序员必须啃下的硬骨头? 如果你写过C或C,肯定定义过结构体。但你是否曾对 sizeof 一个结构体得到的结果感到困惑?明明几个 char 、 int 加起来不过十几个字节, sizeof …

作者头像 李华
网站建设 2026/8/11 13:56:40

如何用AI大模型轻松生成Verilog代码:5步快速入门硬件设计革命

如何用AI大模型轻松生成Verilog代码:5步快速入门硬件设计革命 【免费下载链接】VGen 项目地址: https://gitcode.com/gh_mirrors/vge/VGen 还在为复杂的Verilog语法和繁琐的硬件设计流程而苦恼吗?想象一下,只需要用简单的自然语言描述…

作者头像 李华
网站建设 2026/8/11 13:56:00

如何用QRemeshify解决Blender建模中最棘手的拓扑难题

如何用QRemeshify解决Blender建模中最棘手的拓扑难题 【免费下载链接】QRemeshify A Blender extension for an easy-to-use remesher that outputs good-quality quad topology 项目地址: https://gitcode.com/gh_mirrors/qr/QRemeshify 在三维建模的世界里&#xff0c…

作者头像 李华
网站建设 2026/8/11 13:55:27

跨境电商如何做GEO,让商品被AI搜索推荐?

2026年行业调研数据显示,超六成海外消费者选购商品前会借助AI问答工具检索产品,仅依赖传统SEO的店铺流量同比下滑23%,大批亚马逊、独立站卖家陷入有库存却无法触达AI搜索流量的困境,GEO生成式引擎优化成为跨境商家必须补齐的增长板…

作者头像 李华
网站建设 2026/8/11 13:55:21

如何用 AI 批量优化商品标题、描述和图片 Alt Text?多工具实操深度解析

2026年跨境电商平台算法完成新一轮迭代,亚马逊Rufus、独立站GEO智能检索均要求商品图文信息兼顾语义通顺与关键词布局,大量卖家仍靠人工逐条修改上千条商品素材,不仅耗费人力,还极易出现Alt Text缺失、标题关键词堆砌违规等问题。…

作者头像 李华
网站建设 2026/8/11 13:55:15

解放网盘下载:开源直链助手LinkSwift完全指南

解放网盘下载:开源直链助手LinkSwift完全指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅…

作者头像 李华