【GPIO】点灯大师
下载例程代码:
如何使用例程
编译并下载程序到学习板,即可看到程序效果:红绿蓝三色小灯循环点亮
例程讲解
下面介绍了如何自己实现该例程的功能
1、工程配置
- 分配引脚:在Pinout&Configuration页面,将 PA6、PA7、PB0 配置为 GPIO_Output,并分别设置 User label 为 BLUE、GREEN、RED
左键点击对应的引脚,选择 GPIO_Output;
右键点击对应的引脚,选择 User label,分别输入 BLUE、GREEN、RED
- 配置GPIO:在Pinout&Configuration -> GPIO,点击对应的 PIN,可以在下方的 GPIO output level 中设置初始输出电平
高电平点亮LED,低电平熄灭LED
2、代码
- 在main.c文件中编写HAL_GPIO_WritePin函数来改变GPIO的输出电平
- 以下代码控制红、绿、蓝三个灯对应的GPIO依次输出电平
C语言
1HAL_GPIO_WritePin(RED_GPIO_Port, RED_Pin, GPIO_PIN_SET); //红色,点亮2HAL_GPIO_WritePin(BLUE_GPIO_Port, BLUE_Pin, GPIO_PIN_RESET); //蓝色,熄灭3HAL_GPIO_WritePin(GREEN_GPIO_Port, GREEN_Pin, GPIO_PIN_RESET); //绿色,熄灭4HAL_Delay(1000);5HAL_GPIO_WritePin(RED_GPIO_Port, RED_Pin, GPIO_PIN_RESET); //红色,熄灭6HAL_GPIO_WritePin(BLUE_GPIO_Port, BLUE_Pin, GPIO_PIN_RESET); //蓝色,熄灭7HAL_GPIO_WritePin(GREEN_GPIO_Port, GREEN_Pin, GPIO_PIN_SET); //绿色,点亮8HAL_Delay(1000);9HAL_GPIO_WritePin(RED_GPIO_Port, RED_Pin, GPIO_PIN_RESET); //红色,熄灭10HAL_GPIO_WritePin(BLUE_GPIO_Port, BLUE_Pin, GPIO_PIN_SET); //蓝色,点亮11HAL_GPIO_WritePin(GREEN_GPIO_Port, GREEN_Pin, GPIO_PIN_RESET); //绿色,熄灭12HAL_Delay(1000);
- XX_GPIO_Port和XX_Pin是我们设置用户标签后,CubeMX自动帮我们生成的宏定义固定格式,注意不要打错大小写哦~
- 函数最后一个参数:GPIO_PIN_SET设置为高电平(点亮),GPIO_PIN_RESET设置为低电平(熄灭)
- 三个LED可以同时点亮,尝试不同的组合能显现出不同的颜色~