通过按键控制小灯LD2亮灭,每按键一次,小灯状态发生一次变化。 配置按键,设置为下降沿触发,并且开启外部中断,设置优先级(设置优先级是为了和库函数中延时区分开,否则会干扰),如图: void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if(GPIO_Pin==GPIO_PIN_13) { HAL_Delay(100); if(HAL_GPIO_ReadPin(B1_GPIO_Port, B1_Pin)==GPIO_PIN_RESET) HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5); } } 其中加入延时Delay是为了防抖。 原代码如图所示: 完成!!!!!!! |
nice,多交流