我是靠谱客的博主 简单芹菜,这篇文章主要介绍[HAL库挖坑]外部中断多次进入问题,现在分享给大家,希望可以做个参考。

外部中断多次进入问题:

    新建工程以及设置向这个dalao学习的→→点击打开链接。

    但是在学习过程中一直会出现按一次进多次中断的问题,学疏才浅,折腾了很久才解决:

    按钮外部中断有抖动,而消抖没有用:第一次按下,中断标志位置位,进入中断,标志位清零,但是由于按钮抖动,标志位又置位,中断走完,由于标志位没清零,又进入中断,又因为这时候按钮已经不动,不存在抖动,所以第二次中断没有置位标志位,才会进两次中断。

    因此,要在进入中断后清除标志位:    __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/******************************************************************************************************** * 函数名:HAL_GPIO_EXTI_Callback * 功 能:外部中断调回函数 * 参 数: * 返回值: void * 摘 要: ********************************************************************************************************/ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { HAL_Delay(50); if(HAL_GPIO_ReadPin(Ext_button_GPIO_Port,Ext_button_Pin)==1) { HAL_GPIO_TogglePin(led_GPIO_Port,led_Pin); HAL_Delay(100); } __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); }

最后

以上就是简单芹菜最近收集整理的关于[HAL库挖坑]外部中断多次进入问题的全部内容,更多相关[HAL库挖坑]外部中断多次进入问题内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部