【【萌新的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位我们知道是否收到数据

相关推荐
知识分享小能手6 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react
伴杯猫8 小时前
【ESP32-IDF】基础外设开发2:系统中断矩阵
c语言·单片机·嵌入式硬件·mcu·物联网·github
茯苓gao8 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
是誰萆微了承諾9 小时前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
DKPT9 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
aaaweiaaaaaa9 小时前
HTML和CSS学习
前端·css·学习·html
点灯小铭10 小时前
基于STM32单片机的智能粮仓温湿度检测蓝牙手机APP设计
stm32·单片机·智能手机·毕业设计·课程设计
沐欣工作室_lvyiyi10 小时前
基于单片机的智能路灯(论文+源码)
单片机·嵌入式硬件·毕业设计
Yyq1302086968210 小时前
SIT1050 5V 供电,±40V 接口耐压,1Mbps 高速 CAN 总线收发器
单片机·嵌入式硬件
看海天一色听风起雨落10 小时前
Python学习之装饰器
开发语言·python·学习