首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
数据库
›
SQL-Server
›
STM32-USART时序与寄存器状态分析
返回列表
发新帖
STM32-USART时序与寄存器状态分析
[复制链接]
发表于 2026-2-10 20:34:35
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
一、时序分析
在UART(通用异步收发传输)通讯中,
TX
引脚通常设置为
复用推挽输出模式
以发送数据,
RX
引脚设置为
浮空输入模式
以吸收数据。 信号线上的状态分为两种:逻辑1(高电平)和逻辑0(低电平)。在
空闲状态
下,数据线应保持
逻辑高电平
。UART协议中的各个信号位具有如下寄义:
1)
起始位(Start Bit):
起始位
用于标识数据传输的开始。通过将通讯线路从其空闲状态(逻辑高电平)拉低(
逻辑低电平
)来表现数据的开始。
2)数据位(Data Bits):
数据位(低位先行)是现实传输的数据部分,其长度可以是5到8位。比方,ASCII码使用7位数据位,而扩展BCD码则使用8位。数据位的详细长度取决于通讯设置。
3)
校验位(Parity Bit):
校验位用于检测数据传输中的错误。它可以是偶校验(确保1的位数为偶数)或奇校验(确保1的位数为奇数)。校验位的存在与否以及其详细设置取决于协议的要求。
4)克制位(Stop Bit):
克制位
用于标识数据传输的竣事。它可以是1位、1.5位或2位的
逻辑高电平
。克制位的长度也可以根据通讯协议举行调解。
二、寄存器状态分析
1)数据寄存器(DR,Data Register)
数据寄存器(DR)既用于发送数据也用于吸收数据。只管其
功能
在差别操纵模式下有所差别,但现实上它是同一个物理寄存器:
发送数据寄存器(TDR)
:在写操纵时,数据被写入USART_DR寄存器,以便发送。
吸收数据寄存器(RDR)
:在读操纵时,从USART_DR寄存器中读取吸收到的数据。
2)状态寄存器(SR,Status Register)
状态寄存器(SR)提供UART模块的状态信息和标记位,反映UART的当前状态,如吸收和发送状态、停止标记等。
状态查抄
:通过读取SR寄存器中的标记位,监测UART的当前状态。
错误处理处罚
:查抄和处理处罚各种错误标记(如溢堕落误、噪声错误、帧错误)。
3)常见标记位:
TXE(发送数据寄存器空标记)
标记位
:USART_FLAG_TXE (Transmit Data Register Empty Flag)
功能
:当TXE标记被置位时,表现发送数据寄存器中没有数据,预备好吸收新的数据以便发送。此标记通常用于触发发送操纵或查抄发送缓冲区是否已经空闲。
TC(发送完成标记)
标记位
:USART_FLAG_TC (Transmission Complete Flag)
功能
:当TC标记被置位时,表现全部数据字节已经完全传输,而且全部的发送缓冲区也已清空。此标记用于确认数据传输的终极完成状态。
RXNE(吸收数据寄存器非空标记)
标记位
:USART_IT_RXNE (Receive Data Register Not Empty Interrupt)
功能
:当吸收数据寄存器中有数据可以读取时,该标记被置位。该标记用于触发吸收停止,表现数据可供读取。数据从RDR移位寄存器转移到USART_DR寄存器时,该位被硬件置位。
IDLE(空闲标记)
标记位
:USART_IT_IDLE (Idle Line Detected Interrupt)
功能
:当数据线保持空闲状态(没有数据传输)时,IDLE标记被置位。该标记用于检测数据传输的竣事或空闲状态,并触发空闲行停止。
ORE(溢堕落误标记)
:当吸收数据寄存器溢出(吸收到的数据未能及时读取)时,该标记被置位。该标记须要被扫除以防止错误的发生。
NF(噪声错误标记)
:当吸收的数据包罗噪声错误时,该标记被置位。通常须要举行错误处理处罚。
FE(帧错误标记)
:当吸收到的数据帧格式错误(如克制位缺失)时,该标记被置位。须要举行错误处理处罚。
PE(校验错误标记):
当数据传输过程中发生校验错误时,该标记被置位。须要举行错误处理处罚。
回复
使用道具
举报
返回列表
浏览过的版块
分布式数据库
Oracle
前端开发
物联网
网络安全
Java
DevOps与敏捷开发
.Net
tsx81429
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表