【【萌新的STM32学习25--- USART寄存器的介绍】】

萌新的STM32学习25- USART寄存器的介绍

STM32--USART寄存器介绍(F1)

控制寄存器1 (CR1)

位13: 使能USART UE

0: USART分频器和输出被禁止

1: USART模块使能

位12 : 配置8个数据位 M

该位定义了数据字的长度,由软件对其设置和清零

0: 一个起始位,8个数据位,n个停止位

1: 一个起始位,9个数据位,n个停止位

有效数据位一般来说都选用8个位

位10 : 禁止检验控制 PCE

0: 禁止校验控制

1: 使能校验控制

位5 :RXNEIE 使能接收缓冲区非空中断

0: 禁止产生中断

1: 当USART_SR 的ORE或者RXNE为 1 时, 产生USART 中断

位3 : TE 使能发送

0: 禁止发送

1:使能发送

位2 : 使能接收

0 : 禁止接收

1: 使能接收,并开始搜寻RX引脚上的起始位

UE 为串口使能位,通过该位置 1,使能串口。

M 为字长,当该位为 0 的时候设置串口为 8 个字长外加 n个停止位,停止位的个数(n)是根据 USART_CR2 的[13:12]位设置来决定的,默认为 0。

PCE

为校验使能位,设置为 0,即禁止校验,否则使能校验。

PS 为校验位选择,设置为 0 为偶校验,

否则奇校验。TXIE 为发送缓冲区空中断使能位,设置该位为 1,当 USART_SR 中的 TXE 位为

1 时,将产生串口中断。TCIE 为发送完成中断使能位,设置该位为 1,当 USART_SR 中的 TC

位为 1 时,将产生串口中断。RXNEIE 为接收缓冲区非空中断使能,设置该位为 1,当 USART_SR

中的 ORE 或者 RXNE 位为 1 时,将产生串口中断。TE 为发送使能位,设置为 1,将开启串口

的发送功能。RE 为接收使能位,用法同 TE。、

对于另外一个控制寄存器2 CR2

我们只用到 了 位13 12

位13:12

就是STOP停止位

用这两位来设置停止位的位数

00 : 1个停止位

01 : 0.5个停止位

10 : 2个停止位

11 : 1.5个停止位

这个该寄存器需要完成的配置是: 配置1个停止位

注: UART4 和UART5 不能用0.5停止位和1.5停止位

控制寄存器CR3

我们只使用它的位3

我们对HDSEL的配置选择 半双工选择

0 : 不选择半双工模式

1 : 选择半双工模式

这里有9个位

我们听从上面CR1的安排 如果CR1指示为8 那我们只是用[7;0]

状态寄存器SR

位5: RXNE(读数据寄存器非空)

当该位被置 1 的时候,就是提示已经有数据被接收到了,并且可以读出来了。这时候我们要做的就是尽快去读取 USART_DR,通过读 USART_DR 可以将该位清零,也可以向该位写 0,直接清除。

用通俗的话来说就是当这个位是1的时候表明读数据寄存器非空 就是有东西在DR上面 我们可以把它赶紧读出来

0: 数据没有收到

1: 收到数据,可以读出

位6:TC(发送完成)

当该位被置位的时候,表示 USART_DR 内的数据已经被发送完成了。如果设置了这个位的中断,则会产生中断。该位也有两种清零方式:

1)读 USART_SR,写 USART_DR。

2)直接向该位写 0

0 : 发送还未完成

1 : 发送完成

根据TC位我们可以知道能否发数据

根据RXNE位我们知道是否收到数据

相关推荐
江将好...3 分钟前
定时器实验(Proteus 与Keil uVision联合仿真)
单片机·嵌入式硬件
地球空间-技术小鱼15 分钟前
嵌入式系统学习
嵌入式硬件·学习
物随心转20 分钟前
中断系统的原理
单片机·嵌入式硬件
dengqingrui1236 小时前
【树形DP】AT_dp_p Independent Set 题解
c++·学习·算法·深度优先·图论·dp
我的心永远是冰冰哒6 小时前
ad.concat()学习
学习
ZZZ_O^O6 小时前
二分查找算法——寻找旋转排序数组中的最小值&点名
数据结构·c++·学习·算法·二叉树
FreakStudio8 小时前
全网最适合入门的面向对象编程教程:56 Python字符串与序列化-正则表达式和re模块应用
python·单片机·嵌入式·面向对象·电子diy
slomay8 小时前
关于对比学习(简单整理
经验分享·深度学习·学习·机器学习
hengzhepa8 小时前
ElasticSearch备考 -- Async search
大数据·学习·elasticsearch·搜索引擎·es
小小洋洋10 小时前
BLE MESH学习1-基于沁恒CH582学习
学习