• 【【萌新的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位我们知道是否收到数据
    在这里插入图片描述

  • 相关阅读:
    Python---练习:while循环嵌套(用两次while三步走--里外各一次)
    MySQL基本操作之修改表结构
    Kubernetes:(四)常用命令
    浅谈IDEA的优化和使用
    杂项——STM32ZET6要注意的一些问题——高级定时器问题和PB3,PB4引脚问题
    【C】单链表
    什么是三合一网站建设,网站内容多语言是建站的趋势
    OSCS开源安全周报第13期:Exchange 高危漏洞公开
    解决:sh: vite: command not found
    水溶性Cy3 NHS酯Sulfo-Cyanine3酯用于生物偶联标记多肽
  • 原文地址:https://blog.csdn.net/weixin_50965981/article/details/132612539