STM32F030_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

2、准备工作

建议准备F0的参考手册和数据手册,方便查阅相关知识,没有的请到ST官网或到我的CSDN下载。

我每次都会提供整理好的软件工程供大家下载,但是,如果你是一位学习者,建议自己亲手一步一步操作:打开工程 -> 新建文件(led.c led.h) -> 添加相关文件到工程中 -> 添加源代码。

3、寄存器说明

这里我只简单的说明几个常用的寄存器的功能配置,其他寄存器的配置还需查看STM32F030的数据手册。

GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..D,F) 

“1”

GPIO 端口输出类型寄存器 (GPIOx_OTYPER) (x = A..D,F) 

“2”

GPIO 口输出速度寄存器 (GPIOx_OSPEEDR) (x = A..D,F)

“3”

GPIO 口上拉 / 下拉寄存器 (GPIOx_PUPDR) (x = A..D,F)

“4”

GPIO 端口置位 / 复位寄存器 (GPIOx_BSRR) (x = A..D,F)

5“”

GPIO 复用功能低位寄存器 (GPIOx_AFRL) (x = A..B)

“6”

GPIO 复用功能高位寄存器 (GPIOx_AFRH) (x = A..B)

“7”

端口位复位寄存器 (GPIOx_BRR) (x=A..G)

“8”

4、LED配置

LED原理图

“9”

“10”

代码描述

①LED初始化

“11”

该函数在led.c文件下,

RCC_AHBPeriphClockCmd()是GPIO时钟控制的库函数封装

②LED1/2的打开或者关闭的宏定义函数

“12”

该函数在led.h文件下,

③主函数main

“13”

④实验现象

每0.5秒LED1进行翻转,闪烁点亮

5、说明

本次文档使用的单片机型号为STM32F030R8T6,如果是其他版本的请详细参考原理图和数据手册,一般只需修改LED1/2(PA2/3)的GPIO管脚。

本文转载自晗生缘