UART寄存器分类介绍

一、UART 寄存器的核心分类

通用 UART 模块的寄存器通常分为控制类、状态类、数据类、配置类4 大类,不同 MCU 的寄存器名称可能不同,但功能一致。

二、通用 UART 寄存器详解

1. 数据寄存器(Data Register)
  • 功能:存储待发送 / 刚接收的数据,通常是 “收发共用” 的寄存器(写操作 = 发送数据,读操作 = 接收数据)。
  • 特点
    • 8 位寄存器,存储 1 字节数据;
    • 发送时:CPU 写入该寄存器→数据自动移入发送移位寄存器;
    • 接收时:数据从移位寄存器移入该寄存器→CPU 读取。
2. 控制寄存器(Control Register)

用于控制 UART 的基本功能(发送 / 接收使能、中断使能等),通常分为控制寄存器 A、B(或拆分多个寄存器)。

子寄存器核心位功能
控制寄存器 A- 发送使能位(TXEN):开启 UART 发送功能- 接收使能位(RXEN):开启 UART 接收功能- 中断使能位(TXIE/RXIE):开启发送 / 接收中断
控制寄存器 B- 波特率倍速位(U2X):波特率加倍(如 AVR 的U2X)- 多机通信使能位(MCE):开启多机模式
3. 状态寄存器(Status Register)

用于反馈 UART 的运行状态(发送 / 接收完成、错误等),是软件判断通信状态的核心依据。

核心状态位功能
发送数据寄存器空(TXEMPTY/TXE)1 = 发送数据寄存器(DR)已空,可写入下一个字节
发送完成(TXCOMPLETE/TC)1 = 发送移位寄存器已空(数据完全发送)
接收数据就绪(RXREADY/RXNE)1 = 接收数据寄存器(DR)有新数据,可读取
错误标志位- 奇偶校验错误(PE)- 帧错误(FE):数据帧格式错误- 溢出错误(OE):接收数据未及时读取导致覆盖
4. 波特率配置寄存器(Baud Rate Register)

用于配置 UART 的通信波特率(如 9600、115200),通常是分频寄存器(通过系统时钟分频得到目标波特率)。

  • 常见名称
  • 计算逻辑:波特率分频值 = 系统时钟 / (波特率 × 分频系数)(分频系数通常为 16,倍速模式下为 8)。
5. 模式配置寄存器(Mode Register)

用于配置 UART 的通信参数(数据位、校验位、停止位)。

配置项功能
数据位配置数据位长度(5~8 位)
校验位配置奇偶校验(无校验、奇校验、偶校验)
停止位配置停止位长度(1 位、2 位)

三、通用 UART 寄存器的操作流程

  1. 初始化流程:配置波特率寄存器→配置模式寄存器(数据位 / 校验位 / 停止位)→配置控制寄存器(使能发送 / 接收);
  2. 发送流程:等待 “TXEMPTY” 状态位→写入数据寄存器→等待 “TXCOMPLETE”(可选,确保数据发完);
  3. 接收流程:等待 “RXREADY” 状态位→读取数据寄存器→清除接收标志位。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1196277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前沿技术!AI应用架构师的AI模型版本管理最佳实践前沿应用

AI应用架构师的AI模型版本管理最佳实践:从理论到实践 摘要 在AI应用快速发展的今天,模型版本管理已成为AI应用架构师面临的核心挑战之一。随着企业AI应用从实验阶段走向生产环境,如何有效地管理模型版本、确保模型的可追溯性、可重现性和可…

初学者必知的 Python 库函数

在学习 Python 的初期,很多新手会被各种“魔法方法”和内置函数搞得眼花缭乱。但其实,掌握几个常用又实用的库函数,就能让你的代码更简洁、高效。今天我们就从一个看似简单却极其常用的字符串方法 —— .join() 开始,聊聊初学者应…

第 473 场周赛Q1——3726. 移除十进制表示中的所有零

题目链接:3726. 移除十进制表示中的所有零(简单) 算法原理: 解法:一次遍历 1ms击败82.82% 时间复杂度O(N) 思路很简单,先将这个数转化成字符串,遍历的过程中判断是否是0,如果不是0&a…

C语言:从底层到AI的编程核心

从1960年的ALGOL 60 到1970年的BCPL再到1971年的B语言,编程也从计算机设计者的个人工作逐渐转变到专门的一项工作,C语言的发展,无疑给这个行业注入了核心,至此,C语言作为一门可以从底层控制用到用户界面的编程语言得到…

eclipse4.7 droolsjbpm-tools-distribution-7.46.0.Final.zip

eclipse4.7 工作流插件droolsjbpm-tools-distribution-7.46.0.Final.zip网络不好,就没法子直接更新,经常中断下载离线安装包,更新

ARM汇编基础

GNU汇编语法 GNU 汇编语法适用于所有的架构,并不是 ARM 独享的, GNU 汇编由一系列的语句组成, 每行一条语句,每条语句有三个可选部分,如下: label: instruction commentlabel 即标号&#xf…

2026年想找高质量简历模板就来这7个网站

在求职过程中,一份“长得好看”且专业的简历永远是第一块敲门砖。 无论你是追求极简商务风的金融精英,还是需要展示创意的设计师,一个高质量的简历模板都能帮你省去繁琐的排版时间,直接提升简历的“颜值”和阅读体验。很多人空有满…

7款AI工具助力学术论文高效撰写的详细解析

工具核心特点速览 工具名称 核心优势 适用场景 数据支撑 aibiye 全流程覆盖降重优化 从开题到答辩的一站式需求 支持20万字长文逻辑连贯 aicheck 院校规范适配模板化输出 国内本硕博论文框架搭建 覆盖90%高校格式要求 秒篇 3分钟文献综述生成 紧急补文献章节 知…

基于栅格地图的人工势场法动态路径规划:探索与实践

基于珊格地图的人工势场法 动态路径规划 路径规划算法 地图好修改 自己研究编写的Matlab路径规划 可自行设置起始点,目标点,自由更换地图。 ——————————————————— 可以和A*和RRT融合 动态障碍物 在机器人领域,路径规划始终…

主流简历模板平台测评:5大工具,覆盖从创意到技术的全场景求职

在2026年的数字化招聘中,简历已从单向的展示材料,演变为必须同时适配招聘官阅读与ATS(申请人追踪系统)筛选的“双向工具”。选择专业模板的核心价值在于通过优化信息呈现,直接提升简历的通过效率,具体依据如…

Java面试场景:深入探讨Spring Boot与微服务架构应用

Java面试场景:深入探讨Spring Boot与微服务架构应用 场景描述 在一家互联网大厂的面试场景中,小白程序员“超好吃”面试Java开发岗位。面试官是一位严肃但不失温和的技术专家,整个面试过程由三轮提问组成,涉及Spring Boot、微服务…

天然蛋白纯化技术:原理与核心层析策略

天然蛋白纯化技术:原理与核心层析策略天然蛋白纯化是从复杂生物样本中获取具有完整天然构象与生物活性蛋白质的关键生物化学技术。与重组蛋白表达系统获得的蛋白质相比,天然蛋白直接来源于生物组织或体液,其翻译后修…

Matlab 中用蒙特卡洛算法模拟电动汽车充电负荷

在matlab中用蒙特卡洛算法对电动汽车充电负荷进行模拟,可自己修改电动汽车数量,论文复现。 参考论文:基于V2G的电动汽车充放电优化调度策略 有注释简单易懂,可随意调整参数。 最近在研究电动汽车充电负荷相关问题,发现基于蒙特卡洛…

揭秘主流AI大模型的系统提示词,助你掌握AI核心技术

文章介绍了7个热门开源项目,重点分享了主流AI大模型(如ChatGPT、Claude、Gemini)的系统提示词合集,这些隐藏提示词对AI行为起关键引导作用。同时推荐了电子书转有声书、项目管理、AI嵌入数据库、生成式BI工具和微虚拟机等实用工具,为开发者提…

我基于大模型写了个Telegram群反垃圾广告机器人

我基于大模型写了个Telegram群反垃圾广告机器人一、为什么要做这个Bot 维护Telegram群组的朋友应该都遇到过类似问题:群里突然冒出一堆广告,机器人批量加群发垃圾信息,正常讨论都被打断。最头疼的是,管理员每天要花…

金融大模型落地提速170%,2025前三季度数据揭秘银行、证券、保险应用趋势与厂商竞争格局

2025年前三季度金融行业大模型中标项目数量同比增长170%,金额增长298%。银行是主要应用主体(占比51.1%),算力类项目金额占比最大,应用类项目数量最多,主要场景为智能客服、知识问答等。百度、火山引擎、科大讯飞是市场领先厂商&am…

35岁程序员必看!大模型转型全攻略+学习资源,收藏这篇就够了!

35岁程序员面临职业转型十字路口时,大模型作为当下最热门的技术赛道,无疑是极具吸引力的选择。但跨领域转型并非易事,需要系统规划与稳步推进。以下是专为35岁程序员量身定制的大模型领域转行落地步骤,兼顾基础入门与技能衔接&…

P8145 [JRKSJ R4] kth

锻炼自己的思维链优化能力。 首先比较容易想到设 \(f_{i, j}\) 为从 \(i\) 开始走 \(j\) 步有多少种方案,有一个基于字典序贪心搜索的 \(O(nm)\) 解法。 发现一个事情,\(f_{p_1, m}\) 的大小接近 \(2^m\) 级别,这是…

CodeFuse大模型学习手册:从自然语言到代码的精准转化,小白也能快速上手(值得收藏)

CodeFuse是蚂蚁集团自研的代码大模型,支持40余种编程语言,可实现从自然语言到代码的精准转化,覆盖软件开发全生命周期。其"图生代码"功能能将设计图一键转化为代码,将前端开发效率从小时级提升至秒级。CodeFuse在多个技…

AI助力学术写作:7款工具使用指南与示例

工具核心特点速览 工具名称 核心优势 适用场景 数据支撑 aibiye 全流程覆盖降重优化 从开题到答辩的一站式需求 支持20万字长文逻辑连贯 aicheck 院校规范适配模板化输出 国内本硕博论文框架搭建 覆盖90%高校格式要求 秒篇 3分钟文献综述生成 紧急补文献章节 知…