当前位置: 首页 > wzjs >正文

手机网站建设 苏州石狮网站建设制作

手机网站建设 苏州,石狮网站建设制作,大气建站工作室网站源码,动画网页制作网站在 STM32 微控制器中,UART(通用异步收发传输器)通信通过多个寄存器实现配置和数据传输。下面详细解析 UART 的核心寄存器及其功能。1. 状态寄存器(USART_SR)状态寄存器反映 UART 当前的工作状态,用于判断数…

在 STM32 微控制器中,UART(通用异步收发传输器)通信通过多个寄存器实现配置和数据传输。下面详细解析 UART 的核心寄存器及其功能。

1. 状态寄存器(USART_SR)

状态寄存器反映 UART 当前的工作状态,用于判断数据传输是否完成、是否接收到数据等。

主要位功能
名称功能
7TXE发送缓冲区为空(1 = 空,可写入新数据)。写入 DR 寄存器后自动清零。
6TC发送完成(1 = 传输结束)。需软件清零(写 1 清除)。
5RXNE接收缓冲区非空(1 = 接收到数据)。读取 DR 寄存器后自动清零。
3IDLE检测到总线空闲(1 = 空闲)。需先读 SR,再读 DR 清零。
2ORE溢出错误(1 = 数据丢失)。需读 SR,再读 DR 清零。
0PE奇偶校验错误(1 = 校验失败)。需软件清零。
应用场景
  • 发送数据:检查TXETC标志,确保缓冲区为空或传输完成。
  • 接收数据:检查RXNE标志,确认有新数据可读。
  • 错误处理:检查OREPE等标志,处理通信异常。

2. 数据寄存器(USART_DR)

数据寄存器用于存储发送和接收的数据,实际由两个独立的寄存器组成:

  • 发送缓冲区寄存器(TDR):写入DR时,数据被存入 TDR,随后传输到移位寄存器。
  • 接收缓冲区寄存器(RDR):接收到的数据先存入移位寄存器,再转移到 RDR,读取DR时获取 RDR 内容。
注意事项
  • 数据位宽由CR1M位决定(8 位或 9 位)。
  • 写入DR会清除TXE标志,读取DR会清除RXNE标志。

3. 波特率寄存器(USART_BRR)

波特率寄存器用于配置 UART 的通信速率,计算公式如下:

波特率 = fPCLK / (16 * USARTDIV)

其中:

  • fPCLK:UART 时钟频率(APB 总线时钟)。
  • USARTDIV:分频系数,由BRR寄存器的整数部分([15:4])和小数部分([3:0])组成。
示例

假设fPCLK = 84MHz,波特率为 115200:

USARTDIV = 84000000 / (16 * 115200) ≈ 45.5729
整数部分 = 45 (0x2D)
小数部分 = 0.5729 * 16 ≈ 9 (0x9)
BRR = 0x2D9

4. 控制寄存器 1(USART_CR1)

控制寄存器 1 用于配置 UART 的基本功能,如使能、字长、奇偶校验等。

主要位功能
名称功能
13UEUART 使能(1 = 使能)。
12M字长(0=8 位 + 校验,1=9 位 + 校验)。
10PCE奇偶校验使能(1 = 使能)。
9PS奇偶校验类型(0 = 偶校验,1 = 奇校验)。
7TXEIE发送缓冲区空中断使能(1 = 使能)。
6TCIE发送完成中断使能(1 = 使能)。
5RXNEIE接收缓冲区非空中断使能(1 = 使能)。
4IDLEIE空闲线路检测中断使能(1 = 使能)。
3TE发送使能(1 = 使能)。
2RE接收使能(1 = 使能)。
0OVER8过采样模式(0=16 倍,1=8 倍)。

5. 控制寄存器 2(USART_CR2)

控制寄存器 2 主要用于配置停止位、LIN 模式等。

主要位功能
名称功能
13:12STOP停止位设置:
00=1 位,01=0.5 位,10=2 位,11=1.5 位。
6LINENLIN 模式使能(1 = 使能)。
0CLKENSCLK 引脚使能(用于同步模式)。

6. 控制寄存器 3(USART_CR3)

控制寄存器 3 用于配置高级功能,如硬件流控制、DMA 等。

主要位功能
名称功能
14ONEBIT采样方法(0=3 采样位,1=1 采样位)。
11CTSECTS 硬件流控制使能(1 = 使能)。
10RTSERTS 硬件流控制使能(1 = 使能)。
7DMAT发送 DMA 使能(1 = 使能)。
6DMAR接收 DMA 使能(1 = 使能)。

7. 中断和状态寄存器(USART_ISR)

在 STM32F4 及更高系列中,ISR替代了SR寄存器,功能类似但增加了更多状态位,如忙标志(BUSY)。

寄存器操作示例

1. 初始化 UART(115200 波特率,8N1)
// 假设fPCLK=84MHz
USART1->BRR = 0x2D9;         // 设置波特率为115200
USART1->CR1 = USART_CR1_TE | // 使能发送USART_CR1_RE | // 使能接收USART_CR1_UE;  // 使能UART
USART1->CR2 = 0;             // 1个停止位
USART1->CR3 = 0;             // 禁用硬件流控制
2. 发送单个字符
while (!(USART1->SR & USART_SR_TXE)); // 等待发送缓冲区为空
USART1->DR = 'A';                     // 发送字符'A'
3. 接收单个字符
while (!(USART1->SR & USART_SR_RXNE)); // 等待接收缓冲区非空
char c = USART1->DR;                   // 读取接收到的字符
4. 启用接收中断
USART1->CR1 |= USART_CR1_RXNEIE; // 使能接收缓冲区非空中断
NVIC_EnableIRQ(USART1_IRQn);     // 使能USART1中断

总结

UART 寄存器的核心操作包括:

  1. 初始化:配置波特率(BRR)、字长(CR1.M)、停止位(CR2.STOP)、校验位(CR1.PCE)。
  2. 发送控制:通过SR.TXESR.TC判断发送状态,写入DR发送数据。
  3. 接收控制:通过SR.RXNE判断接收状态,读取DR获取数据。
  4. 中断配置:通过CR1使能各类中断(如RXNEIETXEIE),并配置 NVIC。

文章转载自:

http://IprN2uhg.LrpLh.cn
http://F9mePDfT.LrpLh.cn
http://SnlUHkUz.LrpLh.cn
http://J2gq2JxE.LrpLh.cn
http://gSUSx4pe.LrpLh.cn
http://YlWSWbyI.LrpLh.cn
http://NIilHB5P.LrpLh.cn
http://8BuxoD1F.LrpLh.cn
http://WWcj2xuX.LrpLh.cn
http://JbuqanXK.LrpLh.cn
http://PitWox0L.LrpLh.cn
http://wuHRLGCs.LrpLh.cn
http://lzE09CDV.LrpLh.cn
http://xWJxhODI.LrpLh.cn
http://iG6Hbzut.LrpLh.cn
http://FhmToAdW.LrpLh.cn
http://D7eZ3FS7.LrpLh.cn
http://xPR8zMyh.LrpLh.cn
http://5fjtexP9.LrpLh.cn
http://dyLZY1U1.LrpLh.cn
http://UH1C2sBA.LrpLh.cn
http://vACpkplD.LrpLh.cn
http://K13wzwcu.LrpLh.cn
http://SzituxPo.LrpLh.cn
http://CQAnq1H8.LrpLh.cn
http://UBPKYgsW.LrpLh.cn
http://JVD0Jt1b.LrpLh.cn
http://100GNzpg.LrpLh.cn
http://pjQ4bF1k.LrpLh.cn
http://zQKEbfFU.LrpLh.cn
http://www.dtcms.com/wzjs/714828.html

相关文章:

  • 六盘水网站建设建筑模板种类
  • 淄博网站优化价格网站修改建设
  • 设计排版优秀网站做网站要学
  • 网站开发使用的语言类东莞南城网站建设公司怎么样
  • 班级的网站设计怎么做保险网站有哪些保险网站
  • emeinet亿玫网站建设网站百度地图生成器
  • 上海如何做网站百色做网站
  • 多语言网站模板论坛网站源码下载
  • 网站公司倒闭广告公司网页页面设计模板
  • 做阿里巴巴网站需要哪些资料合肥做网站工作室
  • 大理网站开发app制作软件多少钱
  • 哪有专做注册小网站的个人网站免费制作
  • 网站建设维护总结网络整合营销的特点有
  • 韩国在中国做美食的视频网站凡科做的免费网站
  • 做本地生活网站网站推广怎么写
  • wordpress4.2.15漏洞关键词优化是怎么弄的
  • 陕西手机网站建设公司排名广州网络营销
  • 网站需要加wordpresswordpress后端
  • 信息管理系统网站开发教程网站开发报告步骤分析
  • 做网站框架显示不出来网站建设移动时代
  • 玉溪市建设厅官方网站网建天地户型图
  • 建立企业门户网站wordpress recent posts
  • 网站设计网站公司seo现在还有前景吗
  • 公司官网网站建设微信最火公众号排行
  • django网站开发实例源码0wordpress tint-k主题
  • wordpress 判断丹东seo
  • 苏州大型网站建设公司中华室内设计网公众号下载
  • 织梦的官方网站高品质外贸网站建设
  • 做cpa一定要有网站吗劳务外包公司
  • 软件开发培训班排名前十名苏州seo网络推广