外部中断
中断线————EXTI线0~15(对应外部IO口的输入中断)
每个IO口都可以作为外部中断输入
每个中短线可以独立的配置触发方式(上升沿,下降沿,双边沿),触发/屏蔽,专用状态位。
GPIO与中断线映射关系
EXTI0->PA0,PB0,PC0,……PI0
EXTI1->PA1,PB1,PC1,……PI1
........................
EXTI15->PA15............
具体引脚通过配置寄存器SYSCFG_EXTIRx选择,四位,选择16个IO口
七个中断服务函数
EXTI0_IRQHandler
EXTI1_IRQHandler
EXTI2_IRQHandler
EXTI3_IRQHandler
EXTI4_IRQHandler
EXTI9_5_IRQHandler (共用)
EXTI15_10_IRQHandler (共用)
外部中断配置
GPIO_InitTypeDef GPIO_Initure;
GPIO_Initure.Pin=GPIO_PIN_0; //PA0
GPIO_Initure.Mode=GPIO_MODE_IT_RISING; //上升沿触发
GPIO_Initure.Pull=GPIO_PULLDOWN;
HAL_GPIO_Init(GPIOA,&GPIO_Initure)
(只需在GPIO初始化时设置MODE即可)
通用中断处理函数(位于gpio.c)
void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO