GPIO输出——固件库点亮 LED
利用库建立好的工程模板,就可以方便地使用 STM32 标准库编写应用程序了,可以说 从这一章我们真正开始迈入 STM32 固件库开发的大门。LED 灯的控制使用到 GPIO 外设的基本输出功能。
硬件设计
这是一个 RGB 灯,里面由红蓝绿 三个小灯构成, 使用 PWM 控制时可以混合成 256 不同的颜色。
只要我们控制 GPIO 引脚的电平 输出状态,即可控制 LED灯的亮灭
软件设计
为了使工程更加有条理,我们把 LED 灯控制相关的代码独立分开存储,方便以后移植。 在“工程模板”之上新建“bsp_led.c”及“bsp_led.h”文件,其中的“bsp”即 Board Support Packet 的缩写(板级支持包)。
编程要点
1. 使能 GPIO 端口时钟;
2. 初始化 GPIO 目标引脚为推挽输出模式;
3. 编写简单测试程序,控制 GPIO 引脚输出高、低电平。
代码分析
1. LED 灯引脚宏定义
在编写应用程序的过程中,要考虑更改硬件环境的情况,例如 LED 灯的控制引脚与当 前的不一样,我们希望程序只需要做最小的修改即可在新的环境正常运行。这个时候一般 把硬件相关的部分使用宏来封装,若更改了硬件环境,只修改这些硬件相关的宏即可,这 些定义一般存储在头文件,即本例子中的“bsp_led.h”文件中,
代码清单
LED 控制引脚