这一篇博客主要讲述配置中的步骤以及原理,以及实现外部中断控制LED亮灭的代码
1.中断的原理和步骤
中断:cpu执行正常程序——中断产生,打断程序,执行中断程序——中断程序执行完毕,返回继续执行正常程序
GPIO的外部中断的大概步骤:
GPIO——AFIO(F1)——EXTI——NVIC——CPU
GPIO
:这里GPIO的作用是使能GPIO时钟和设置工作模式。
AFIO(F1)
:这里AFIO的作用是连接IO和EXTI。
EXTI
:这里EXTI的作用是输出中断的信号,传递给NVIC。
NVIC
:这里NVIC的作用是设置中断分组及优先级,使能中断。
CPU
:CPU的作用是执行程序。
如图,我们使用按键控制led亮灭,需要对PAO输入上拉,下降沿触发。
下面按照顺序详细讲述中断每一步。
2.配置GPIO
GPIO_InitTypeDef gpio_init_struct;//定义结构体
__HAL_RCC_GPIOE_CLK_ENABLE();//时钟PAIOE使能
gpio_init_struct.Pin = GPIO_PIN_4;