STM32-HAL库-EXTI外部中断配置及个人经验

参考文章:(3)STM32使用HAL库操作外部中断——实战操作 - 狗尾巴草word - 博客园 (cnblogs.com)

 

 


 

具体操作在大佬的文章里都有了,很详细。我来说说我遇到的问题及解决方法。

 

1.

 

 这里必须选择上下拉,我之前看的其他教程贴都没有选择上下拉,只配置个上下沿触发中断就完了,但实测如果没有选择上下拉,会导致按键中断不稳定,按一次会执行很多次回调函数。

具体怎么选择上下来,看原理图KEY0当按键按下后会变成低电平,所以要上拉以检测低电平变化,同理中断触发选下降沿Falling Edge。

 

 

2.中断回调函数:

 

 注意这里的HAL_Delay,这是用来消抖按键的,没有的话中断会很不稳定,但是如果在中断中存在delay的话,那就必须设置一下NVIC,否则主程序运行时突然有外部中断的话,主函数会停止运行,整个卡住。

 

 __HAL_EXTI_Clear_IT这个可有可无,因为在服务函数中Cubemx已经写好了,在中断函数中再加一次也没事,可有可无。

 

posted @ 2022-07-07 15:28  grey_electron  阅读(2160)  评论(0)    收藏  举报