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

嵌入式软件/开发板

71人已加入

描述

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()清除挂起中断标志位

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分