STM32F030_LED详细配置总结
扫描二维码
随时随地手机看文章
这几天到手一块Cortex_M0的STM32f030的单片机,在这里总结下STM32F030的相关详细外设功能配置,本文详细说明STM32f030_LED的配置,随便说明GPIO相关寄存器的配置和功能。
LED管脚说明:PA2 ——LED1 PA3 ——LED2
LED低电平点亮
1、概述
GPIO相关特征概述:
- STM32F030提供55个快速IO口,分为5组(A、B、C、D、F)
- 每 个 通 用 I/O 口 都 有 4 个 32 位 配 置 寄 存 器(GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR 和 GPIOx_PUPDR), 2 个 32 位数据寄存器 (GPIOx_IDR and GPIOx_ODR) 和 1 个32 位置位 / 复位寄存器 (GPIOx_BSRR)
- 输出状态: 带有上拉或下拉的推挽输出或开漏输出
- 可选的每个 I/O 口的速度
- 输入状态: 浮空、 上拉 / 下拉、 模拟输入
- 模拟功能
- 复用功能
LED相关特征概述:
- LED低电平点亮
- PA2 PA3 连接LED1 LED2
建议准备F0的参考手册和数据手册,方便查阅相关知识,没有的请到ST官网或到我的CSDN下载。
我每次都会提供整理好的软件工程供大家下载,但是,如果你是一位学习者,建议自己亲手一步一步操作:打开工程 -> 新建文件(led.c led.h) -> 添加相关文件到工程中 -> 添加源代码。
3、寄存器说明这里我只简单的说明几个常用的寄存器的功能配置,其他寄存器的配置还需查看STM32F030的数据手册。
GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..D,F)
GPIO 端口输出类型寄存器 (GPIOx_OTYPER) (x = A..D,F)
GPIO 口输出速度寄存器 (GPIOx_OSPEEDR) (x = A..D,F)
GPIO 口上拉 / 下拉寄存器 (GPIOx_PUPDR) (x = A..D,F)
GPIO 端口置位 / 复位寄存器 (GPIOx_BSRR) (x = A..D,F)
GPIO 复用功能低位寄存器 (GPIOx_AFRL) (x = A..B)
GPIO 复用功能高位寄存器 (GPIOx_AFRH) (x = A..B)
端口位复位寄存器 (GPIOx_BRR) (x=A..G)
LED原理图
代码描述
①LED初始化
该函数在led.c文件下,
RCC_AHBPeriphClockCmd()是GPIO时钟控制的库函数封装
②LED1/2的打开或者关闭的宏定义函数
该函数在led.h文件下,
③主函数main
④实验现象
每0.5秒LED1进行翻转,闪烁点亮
本次文档使用的单片机型号为STM32F030R8T6,如果是其他版本的请详细参考原理图和数据手册,一般只需修改LED1/2(PA2/3)的GPIO管脚