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