STM32外设寄存器简介及简单用法

发布时间:
来源: 电子工程世界

STM32外设有哪些?

外设指的是单片机外部的外围功能模块,比如键盘控制芯片,液晶,A/D转换芯片,等等。外设可通过单片机的I/O,SPI,I2C等总线控制。


Smt32外设有以下几类寄存器:

1. 控制寄存器CR:配置、控制相应外设工作方式

2. 数据寄存器DR:存储外设进行输入输出的数据

3. 状态寄存器SR:存储当前外设的运行状态(标准位,状态位)

控制寄存器CR结构体初始化代码:

1. GPIO_initTypedef用来配置GPIO

2. NVIC_InitTypedef配置NVIC

3. EXTI_InitTypede配置EXTI

4. USART_InitTypede配置USART


控制寄存器使用库初始化外设步骤:

1. 定义1个InitTypedef类型初始化结构体

2. 根据要求向初始化结构体中写入控制参数

3. 调用Init()实现向寄存器写入控制参数,并且控制外设


数据寄存器DR:

对外设进行数据输入输出调用。

具体代码GPIO_READINPUTDATA()

GPIO_READOUTPUTDATA()

GPIO_READSETBIT()

USART收发函数为USART_RECEIVEDATA() USART_SENDDATA()

状态寄存器SR

对外设工作状态进行检查。假如外设进行完成了某一事件,完成的标志就会储存在状态寄存器SR中。

假如将串口的接收与发送都设置为中断,那么如何才能确定是由什么时间触发的中断呢?这就可以从状态寄存器中读取标志位了。

标志位检查的库函数

GETFLAGSTATUS() GETITSATUS()

功能为读取事件标志位 和中断标志位状态

USART_GETFLAGSTATUS()读取串口标志位

EXIT_GETFLAGSTATUS()读取EXIT线状态

那么清除标志位的函数为CLEARFLAG()清除事件标志位

CLEARITPENGDINGBIT()清除挂起中断标志位


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。