news 2026/4/16 10:38:10

学习笔记——UART(通用异步收发器)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
学习笔记——UART(通用异步收发器)

UART(通用异步收发器)

一、基本概念

  1. UART定义:Universal Asynchronous Receiver Transmitter

    • 通用异步收发器,用于异步通信的硬件接口

    • 包含自己的一套通信规则和协议

    • 特点:异步、全双工、串行通信协议

二、硬件连接

接线方式

MCU <---> 外部设备 TXD <---> RXD (发送线对接收线) RXD <---> TXD (接收线对发送线) VCC <---> VCC (电源正极) GND <---> GND (接地)

注意:必须交叉连接(TXD接RXD,RXD接TXD)

三、通信方式

类型数据线数据传输方向特点
单工1根单向固定一方固定发送,一方固定接收
半双工1根双向分时双方都能收发,但不能同时进行
全双工2根双向同时双方可同时收发数据(UART采用)

四、数据传输特点

1. 发送顺序

LSB优先原则(低位先行)

数据:A6 = 1010 0110 发送顺序:0 → 1 → 1 → 0 → 0 → 1 → 0 → 1 LSB MSB

2. 传输形式比较

类型数据线传输速率硬件成本传输距离抗干扰性
串行1根
并行多根

并行传输问题:距离增加会导致信号偏移和电磁干扰

五、通信时序

数据帧格式

起始位 + 数据位(5-9位) + 校验位(可选) + 停止位(1/1.5/2位)
  • 起始位:1位低电平(0)

  • 停止位:1位或多位高电平(1)

六、奇偶校验

1. 校验类型

类型校验位校验规则局限性
奇校验'1'数据位'1'+校验位=奇数个'1'无法检测偶数个bit错误
偶校验'0'数据位'1'+校验位=偶数个'1'无法检测偶数个bit错误
无校验无校验位无错误检测

2. 校验示例

数据:1010 0110 (有4个'1') 奇校验:校验位=1(总共有5个'1',奇数) 偶校验:校验位=0(总共有4个'1',偶数)

七、通信参数

格式波特率 数据位 校验位 停止位

9600 8 N 1 → 波特率9600,8位数据,无校验,1位停止位 2400 8 E 1 → 波特率2400,8位数据,偶校验,1位停止位 115200 8 O 1 → 波特率115200,8位数据,奇校验,1位停止位

常见波特率:

2400, 4800, 9600, 19200, 38400, 57600, 115200

八、同步与异步

类型时钟线特点
同步有时钟线同步通信频率
异步无时钟线,UART采用此方式

九、串口寄存器配置(以51单片机为例)

1. SCON寄存器配置

SCON &= ~(3 << 6); // 清bit6、bit7(SM0、SM1) SCON |= (1 << 6); // 设置SM0=0,SM1=1 → 模式1:8位UART,波特率可变 SCON |= (1 << 4); // 设置REN=1,允许接收数据

2. SCON重要标志位

  • TI(发送中断标志)

    • 8位数据发送完毕后自动置1

    • 必须用软件清零

    • TI = 0;

  • RI(接收中断标志)

    • 8位数据接收完毕后自动置1

    • 必须用软件清零

    • RI = 0;

3. PCON寄存器配置

PCON |= (1 << 7); // SMOD=1,波特率翻倍 PCON &= ~(1 << 6); // SMOD0=0,通过SM0和SM1确定串口模式

十、波特率计算

定时器1工作模式(8位自动重装)

  • 波特率公式

    波特率 = (2^SMOD × 晶振频率) / (32 × 12 × (256 - TH1))
  • 常用波特率对应的初值(12MHz晶振,SMOD=1):

    9600 → TH1 = 0xFD 4800 → TH1 = 0xFA 2400 → TH1 = 0xF4

十一、主机与从机概念

角色功能特点
主机拥有通信控制权发起通信,发送指令
从机响应主机指令不能主动发起,只能应答

十二、重点内容总结

  1. 串口概念:异步、全双工、串行通信

  2. 通信方式区别:单工(单向)、半双工(双向分时)、全双工(双向同时)

  3. 发送顺序:LSB优先,低位先行

  4. 串行vs并行:串行-单线慢成本低,并行-多线快成本高

  5. 通信时序:起始位+数据位+校验位+停止位

  6. 奇偶校验:奇校验-总'1'数为奇数,偶校验-总'1'数为偶数

  7. 通信参数:波特率、数据位、校验位、停止位

  8. 常见波特率:2400、9600、115200等

  9. 同步vs异步:有无时钟线同步

  10. 波特率产生:依靠定时器1(通常模式2,8位自动重装)

  11. 定时器模式:16位定时器需软件重装,8位自动重装自动重载

  12. 16位vs8位定时器:16位-范围大需软件干预,8位-范围小但自动重装

  13. 主机vs从机:主机主动发起,从机被动响应

  14. Modbus协议:常见的主从式通信协议格式

十三、关键知识点

  • 数据帧结构:理解起始位、数据位、校验位、停止位的组合

  • 波特率计算:掌握定时器初值计算方法

  • 寄存器操作:熟练掌握SCON、PCON的位操作

  • 工作模式:掌握模式1(8位UART,波特率可变)的配置

  • 通信流程:理解数据收发的中断处理流程

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

python基于vue的家具商城 家居店活动抽奖系统django flask pycharm

目录Python基于Vue的家具商城与抽奖系统开发方案技术栈选择家具商城核心功能抽奖系统设计开发工具与部署扩展方向开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;Python基于Vue的家具商城与抽…

作者头像 李华
网站建设 2026/4/13 19:14:38

24家科技巨头参与,美国“创世纪计划”有什么样的野心?

2025年11 月 24 日&#xff0c;特朗普在白宫正式签署行政令&#xff0c;启动了被外界称为 “AI 版曼哈顿计划 ” 的 “ 创世纪计划 ” &#xff08; The Genesis Mission &#xff09;。“创世纪”一词源自《圣 经》&#xff0c;特朗普为这项国家级AI任务冠以此名&#xff0c;足…

作者头像 李华
网站建设 2026/4/16 9:23:32

突然发现 AI Agent设计思路真的好清晰

AI Agent 作为具备自主行为能力的智能体&#xff0c;其系统架构设计对功能实现与性能表现至关重要。本文基于 LLM 的AI Agent系统架构设计&#xff0c;分四部分展开。 &#x1f4cd;系统架构 系统架构&#xff0c;有三层。工具层像个采购员&#xff0c;从外面的 API、数据库啥的…

作者头像 李华
网站建设 2026/4/16 9:23:21

C++类型判断

一、编译期类型判断&#xff08;静态类型检查&#xff09;这类判断在编译阶段完成&#xff0c;零运行时开销&#xff0c;主要用于模板编程、类型萃取等场景。1. typeid 运算符&#xff08;基础&#xff09;typeid 可以获取类型信息&#xff0c;返回 std::type_info 对象&#x…

作者头像 李华
网站建设 2026/4/15 18:20:50

手把手教程:用通义千问2.5-7B和vLLM实现代码补全功能

手把手教程&#xff1a;用通义千问2.5-7B和vLLM实现代码补全功能 1. 学习目标与前置知识 本文将带领读者从零开始&#xff0c;使用 通义千问2.5-7B-Instruct 模型结合 vLLM 推理框架&#xff0c;搭建一个高效的本地化代码补全系统。通过本教程&#xff0c;您将掌握&#xff1…

作者头像 李华