中断法,点亮led
使用轮询法功耗较高,一直进行轮询
一、cude MX配置:
1、配置时钟:cude MX里边选择串口→RCC里选择时钟外部晶振→clock configuration中配置时钟,HES、PLLCLK、72,时钟配置完成
2、配置GPIO口:在GPIO中配置按键&led相关的io口,led为PB8\PB9配置为output配置为默认高电平;按键为PA0\PA1配置为GPIO_EXTI0\GPIOEXTI1,需要配置触发方式,上升沿、下降沿、上升下降沿触发
3、使能中断:NVIC中勾选0中断与1中断,后边0,0为抢占优先级&响应优先级的配置
4、配置工程:project manager中配置项目名、路径、code生成要求.....
二、keil5配置
1、生成的代码用keil5打开→时钟相关配置void MX_GPIO_Init(void)
2、重写HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1);函数中的HAL_GPIO_EXTI_Callback(GPIO_Pin);//中断服务函数,weak函数为虚函数,可以手动去重写它→复制到main.c中重写,demo code如下