STM32CubeM配置外部中断(HAL库开发)

功能实现:按键按下,会产生一次下降沿,产生外部中断,在中断服务函数里面使LED亮;

引脚对应:
KEY——PE3;

LED——PC0

外部中断小细节:

7组中断服务函数:
EXTI0
EXTI1
EXTI
EXTI3
EXTI4
EXTI5~EXTI9:共用一个
EXTI10~EXTI15:共用一个 

每个GPIO都可以产生外部中断:
EXTI0:对应PA0~PG0,以此类推

触发发生:边沿触发,上升沿触发,下降沿触发,上升沿或者下降沿(双边沿触发)。
 

STM32CubeMx 的配置:

 

 

 

 

 

 

 

 

 

 

 

 初始化函数中:

得调用这个中断优先级函数

中断服务函数原型:EXTI3_IRQHandler

会直接生成带这个中断

 中断服务函数判断以及配置:HAL_GPIO_EXTI_IRQHandler

 _weak虚函数:HAL_GPIO_EXTI_Callback:得自己重新配置,名字不能改

外部中断服务函数自己定义:

生成库函数时,会传入GPIO_PIN_3,所以直接判断传入的参数就可以了

如果对GPIO的函数不太懂,可以看这个文章,简述了GPIO的常用函数:
https://blog.csdn.net/m0_58832575/article/details/124881407?spm=1001.2014.3001.5501

猜你喜欢

转载自blog.csdn.net/m0_58832575/article/details/124881783