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

这篇具有很好参考价值的文章主要介绍了【【萌新的STM32学习25--- USART寄存器的介绍】】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

STM32–USART寄存器介绍(F1)
【【萌新的STM32学习25--- USART寄存器的介绍】】,stm32学习,stm32,学习,单片机
控制寄存器1 (CR1)
位13: 使能USART UE

0: USART分频器和输出被禁止
1: USART模块使能

位12 : 配置8个数据位 M
该位定义了数据字的长度,由软件对其设置和清零
0: 一个起始位,8个数据位,n个停止位
1: 一个起始位,9个数据位,n个停止位
有效数据位一般来说都选用8个位

【【萌新的STM32学习25--- USART寄存器的介绍】】,stm32学习,stm32,学习,单片机
位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
【【萌新的STM32学习25--- USART寄存器的介绍】】,stm32学习,stm32,学习,单片机
位13:12
就是STOP停止位
用这两位来设置停止位的位数
00 : 1个停止位
01 : 0.5个停止位
10 : 2个停止位
11 : 1.5个停止位
这个该寄存器需要完成的配置是: 配置1个停止位
注: UART4 和UART5 不能用0.5停止位和1.5停止位

控制寄存器CR3
我们只使用它的位3
【【萌新的STM32学习25--- USART寄存器的介绍】】,stm32学习,stm32,学习,单片机
我们对HDSEL的配置选择 半双工选择
0 : 不选择半双工模式
1 : 选择半双工模式
【【萌新的STM32学习25--- USART寄存器的介绍】】,stm32学习,stm32,学习,单片机
这里有9个位
我们听从上面CR1的安排 如果CR1指示为8 那我们只是用[7;0]

状态寄存器SR
【【萌新的STM32学习25--- USART寄存器的介绍】】,stm32学习,stm32,学习,单片机
位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位我们知道是否收到数据
【【萌新的STM32学习25--- USART寄存器的介绍】】,stm32学习,stm32,学习,单片机文章来源地址https://www.toymoban.com/news/detail-699698.html

到了这里,关于【【萌新的STM32学习25--- USART寄存器的介绍】】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【STM32学习】定时器寄存器配置、功能工作过程详解

    STM32-定时器详解 STM32个人笔记-定时器 本文针对STM32F103系列单片机的定时器进行介绍。 主要是其常用功能的工作流程、以及寄存器的对应配置。 该图清晰的表明了各种定时器的参数与功能。其中,基础定时器基本上就只有最简单的计数到了然后触发中断的功能;通用和高级定

    2024年02月15日
    浏览(38)
  • 野火霸天虎 STM32F407 学习笔记_2 寄存器介绍

    虽然正式编程没有必要用寄存器编程,通常都是库函数或者 hal 库。但是还是有必要学一下原理的。 寄存器映射 芯片视图如下。 丝印:芯片上印的信息。型号,内核,生产批次等。 引脚:左上角是有小圆点的,从左上-左下-右下-右上逆时针看。或者如果没有小圆点,把丝印

    2024年02月06日
    浏览(39)
  • stm32的BRR寄存器和BSRR寄存器

    1、BRR---   bit   RESET(置0)  register   //高16位无,低16位置1为0,不能写1 2 、BSRR---   bit   SET(设置1或0)       register   //低16位设置1为0 BSRR:用于低16位的作用是让指定的IO口置1;而高16位的作用是让指定的IO口置0。  

    2024年02月11日
    浏览(38)
  • STM32之寄存器

    在学习STM32之前有必要了解一下ARM架构,以下相关ARM架构的知识来自百度百科​:​ ARM架构,曾称进阶精简指令集机器(Advanced RISC Machine)更早称作Acorn RISC Machine,是一个32位精简指令集(RISC)架构。还有基于ARM设计的派生产品,重要产品包括Marvell的XScale架构和德州仪器的

    2024年02月22日
    浏览(41)
  • STM32萌新学习日志——用GPIO外设寄存器输出点亮LED对比库函数点亮LED——谈学习感悟

            本周学习STM32单片机,由于之前学过51单片机,为了便于切入,先学习了寄存器点亮LED灯的方法,整体思路与51单片机相似。在基本掌握后,尝试自己构建库函数雏形,过程比较困难,后面开始借鉴野火官方库函数。         这里其实建议大家在学会构建库函数后

    2024年03月17日
    浏览(86)
  • STM32寄存器点亮LED灯

     这个灯是 PB5引脚 看原理图可以看出 让GPIOB5输出低电平 就能点亮 那么我们得让 打开控制GPIOB5的时钟 让GPIOB5 输出模式 让GPIOB5低电平 时钟就相当于一个阀门开关,或者理解成水龙头,你打开了 才有水出来,也就是你打开才能工作。 看中文参考手册 系统架构 找到你的GPIO

    2024年02月07日
    浏览(43)
  • STM32 入门 —— 寄存器与 GPIO

    STM32 总线构图: 什么是寄存器 根据百度百科介绍,寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。简单来说,寄存器就是存放东西的东西,存放的东西是指令、数据或地址 存放数据的寄存器最容易理解,不同

    2024年02月04日
    浏览(40)
  • STM32 寄存器配置笔记——GPIO配置输出

           本文主要介绍GPIO 作为输出时的寄存器配置。包括时钟配置,输出模式配置。以STM32F10xxx系列为例,配置PA8、PD2端口作为输出,输出高/低电平。         1)GPIO外设时钟          通过查找STM32F10xxx中文参考手册得知,GPIO PORT口的时钟配置在RCC_APB2ENR寄存器的第2~6位,

    2024年01月24日
    浏览(59)
  • STM32-ADC电压采样实验(寄存器版)

    STM32F10X系列支持三路ADC,其ADC通道及对应IO口如下表所示: 其能接受的电压输入范围一般为0-3.3V(V REF- ≤ V IN ≤ V REF+ ),因此,如果需要测量超出0-3.3v量程范围的电压数据,需要在外围硬件增加分压电阻,将电路转换到0-3.3V量程范围内再进行采集。 这里用于做ADC采集的引脚使

    2024年02月15日
    浏览(46)
  • STM32的GPIO操作(寄存器&HAL)

    (注:此为乐某学习记录,若有出错的地方欢迎各位指出!) 本人使用的开发板的芯片是STM32H743XIH6,所以外设也是根据此芯片来介绍。 在使用HAL库配置的时候,需要安装STM32CubeMX。此软件可在ST官网下载,剩下的安装步骤比较简单,不会单独出篇进行讲解。 STM32CubeMX下载网址

    2024年02月04日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包