文章目录1. 物理连接2. 帧格式2.1 起始位2.2 数据位2.3 奇偶校验位2.4 停止位2.5 关键规则3. 波特率与采样4. 流控5. 错误检测6. 优缺点7. 常见应用8. 与 SPI、I2C 的简单对比UART 是Universal Asynchronous Receiver/Transmitter的缩写中文常叫“通用异步收发器”。严格说它是一类硬件外设但在嵌入式领域通常把它的异步串行通信帧格式称为 UART 协议。它的核心特点异步、串行、全双工、点对点。没有时钟线收发双方靠预先约定的波特率同步。1. 物理连接典型 UART 只需两根信号线TX发送RX接收两个设备连接时TX 接对方 RXRX 接对方 TX并且通常还要共地 GND。UART 本身只定义逻辑时序不定义电气电平。常见物理层标准有TTL UART0V/3.3V/5V常见于 MCU、模块之间距离很短。RS-232负逻辑±3~15V抗干扰稍好距离约十几米。RS-485差分信号可多点、半双工或全双工距离可达上千米低速传输。RS-422差分、全双工、点对多点。2. 帧格式UART 数据按“帧”发送。一个典型帧如下空闲位 起始位 D0 D1 D2 D3 D4 D5 D6 D7 校验位 停止位 空闲 1 0 ... 数据位LSB 先发 ... 可选 1 12.1 起始位当不传输数据时 UART 数据传输线通常保持高电压电平。若要开始数据传输发送UART 会将传输线从高电平拉到低电平并保持1 个时钟周期。当接收 UART 检测到高到低电压跃迁时便开始以波特率对应的频率读取数据帧中的位。2.2 数据位数据帧包含所传输的实际数据。如果使用奇偶校验位数据帧长度可以是5 位到 8 位。如果不使用奇偶校验位数据帧长度可以是9 位。在大多数情况下数据以最低有效位优先方式发送。2.3 奇偶校验位奇偶性描述数字是偶数还是奇数。通过奇偶校验位接收 UART判断传输期间是否有数据发生改变。电磁辐射、不一致的波特率或长距离数据传输都可能改变数据位。校验位可以配置成 1 位偶校验或 1 位奇校验或无校验位。接收UART 读取数据帧后将统计数值为 1 的位检查总数是偶数还是奇数。如果奇偶校验位为0 偶数奇偶校验则数据帧中的1或逻辑高位总计应为偶数。如果奇偶校验位为 1 奇数奇偶校验则数据帧中的1 或逻辑高位总计应为奇数。当奇偶校验位与数据匹配时UART 认为传输未出错。但是如果奇偶校验位为0 而总和为奇数或者奇偶校验位为 1 而总和为偶数则UART 认为数据帧中的位已改变。2.4 停止位为了表示数据包结束发送 UART 将数据传输线从低电压驱动到高电压并保持1 到 2 位时间。2.5 关键规则空闲状态为高电平 1起始位为低电平 0接收方检测下降沿后开始同步数据位通常 5~9 位常用 8 位低位先发LSB first奇偶校验可选None、Even、Odd、Mark、Space停止位为高电平 1常见 1 位、1.5 位或 2 位常见配置写作115200 8N1意思是波特率 1152008 位数据无校验1 位停止位。例如发送字节0x41二进制是01000001LSB 先发数据位顺序为D01, D10, D20, D30, D40, D50, D61, D708N1 下线上大致为空闲 1 | 起始 0 | 1 0 0 0 0 0 1 0 | 停止 13. 波特率与采样UART 没有时钟线双方必须约定相同波特率。UART 中通常一个符号表示 1 bit所以波特率等于比特率。常见波特率9600192003840057600115200更高230400、460800、921600甚至几 Mbps接收方通常采用16 倍过采样检测起始位下降沿后在起始位中点确认然后在每个数据位的中点采样。波特率误差一般要求控制在2%~3% 以内否则容易错位。4. 流控当接收方处理不过来时需要流控防止丢数据。硬件流控RTS/CTSRTSRequest To SendCTSClear To Send发送方检查 CTS接收方用 RTS 表示能否继续接收。软件流控XON/XOFFXON0x11继续发送XOFF0x13暂停发送缺点是不适合传输任意二进制数据因为控制字符可能出现在数据中。5. 错误检测UART 帧本身能提供有限错误检测奇偶校验错误校验位不匹配帧错误停止位不是预期的高电平噪声错误采样时发现电平不稳定溢出错误接收缓冲区满新数据覆盖旧数据UART 没有 CRC可靠性有限。如果需要可靠传输通常要在 UART 之上加协议比如添加帧头、长度、CRC、应答和重传。6. 优缺点优点简单、成本低、占用引脚少不需要共享时钟支持全双工MCU、PC、模块普遍支持适合调试、控制、低中速通信缺点通常只能点对点没有地址和总线仲裁机制速率和距离受物理层限制错误检测弱双方配置必须一致波特率、数据位、校验、停止位、流控7. 常见应用MCU 调试串口、printf 重定向GPS、蓝牙、WiFi、4G 模块通信PC 串口、USB 转串口工业控制中的 RS-232/RS-485 网络固件升级、Bootloader传感器和主控之间的简单通信8. 与 SPI、I2C 的简单对比特性UARTSPII2C同步方式异步同步同步线数2 根 地4 根左右2 根双工全双工全双工半双工拓扑点对点一主多从多主多从寻址无片选地址速度中低高中典型用途调试、模块通信高速外设传感器、EEPROM总结UART 是一种简单、广泛使用的异步串行通信方式。它通过起始位、数据位、可选校验位和停止位组成帧双方用相同波特率通信。UART 本身适合点对点短距离通信配合 RS-232、RS-485 等物理层可以扩展距离和多点能力。
企业数字化 ERP 产品动态
相关推荐
Token经济学实战:用TaoToken统一Key拆解成本、效率与价值最大化 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 16:30:43
游戏支付平台源码实战:支付链路、回调验签与对账避坑指南 简介:面向中小游戏团队或个人开发者的游戏支付平台源码包,涵盖充值平台、第三方支付接入与游戏网关支付接口,解决游戏内充值、订单管理和多渠道支付路由问题,适合具备 Java Web 基础、想参考完整支付闭环的开发者。包体共 2000 个… · 2026/9/26 17:04:11
苍穹外卖下单支付全链路:数据库设计、事务幂等与Linux部署 做苍穹外卖这类项目,下单和支付绝对是整个系统里最有分量的一条业务链。很多同学把CRUD做完就开始飘,结果一到下单模块就被订单状态机、库存扣减、支付回调这些概念砸懵。尤其是最近总有人问数据库设计文档怎么写、怎么把项目部署到Linux上跑起来&#x… · 2026/9/26 17:04:04
Java后端集成极光推送:全平台消息触达实践与避坑指南 做后端开发这些年,我最大的感受是:短信能搞定验证码,但在 App 消息触达这件事上,短信又贵又慢,还容易被用户当成垃圾信息。真正让我下定决心把推送系统彻底搞清楚,是一个订单超时赔付的告警场景——用户下单… · 2026/9/26 17:04:04
【智能体开发】【开发工具】【入门】6.Windsurf入门:用TaoToken统一Key打通AI智能体工作流 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 17:03:51
恶意MCP服务器劫持Cursor内置浏览器:TaoToken配置下的安全加固与验证 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 17:03:51
CodeBuddy 配 TaoToken:数字大屏项目 settings.json 骨架与验证 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 17:03:45
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46