本文主要是介绍【NUCLEO-G071RB】003——GPIO-按键控制LED灯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
NUCLEO-G071RB:003——GPIO-按键控制LED灯
- 设计目标
- 电路原理图
- 芯片配置
- 程序修改
设计目标
用输入控制输出,即以蓝色按键B1的输入控制LED4灯的输出
细节:
- 若判定为按键按下中,则LED灭灯,否则亮灯
- 按键按下和抬起的检查均用延时滤波
电路原理图
因为单片机的PC13与按键B1相连,且PC13有外部上拉电阻R29,所以,PC13可以初始化为“GPIO浮空输入、无内部上/下拉电阻”,也可初始化为“GPIO浮空输入、内部上拉电阻ON”(功耗稍大),两种初始化方法都能够实现设计目标。
芯片配置
1、PA5(LD4):推挽输出L,其他参数维持默认
2、PC13(B1):浮空输入,其他参数维持默认
程序修改
主循环中追加以下代码
if (HAL_GPIO_ReadPin(B1_GPIO_Port, B1_Pin) == GPIO_PIN_SET){HAL_Delay(10);if (HAL_GPIO_ReadPin(B1_GPIO_Port, B1_Pin) == GPIO_PIN_SET){HAL_GPIO_WritePin(LD4_GPIO_Port, LD4_Pin, GPIO_PIN_SET); //LED ON}}else{HAL_Delay(10);if (HAL_GPIO_ReadPin(B1_GPIO_Port, B1_Pin) == GPIO_PIN_RESET){HAL_GPIO_WritePin(LD4_GPIO_Port, LD4_Pin, GPIO_PIN_RESET); //LED OFF}}
编译、下载、运行,发现LED4的ON/OFF收按键控制
这篇关于【NUCLEO-G071RB】003——GPIO-按键控制LED灯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!