请问下stm32的hal库怎么清除外部中断
进入中断处理函数后,我该怎么清除外部中断的标志位比如中断4 这个函数里边已经清了中断。 看看你的外部中断处理函数里边的内容是不是搭建的有问题。如果你用的是HAL库,那么库已经帮你清除标志位了,你只需要自己补全那些回调函数就可以了 Dandjinh 发表于 2017-8-14 15:18
如果你用的是HAL库,那么库已经帮你清除标志位了,你只需要自己补全那些回调函数就可以了 ...
并没有,最后我用了pr寄存器直接去清空
HAL原装代码
楼上正解,hal库己帮你清了 如果是生成的HAL 则不需要关心这个问题,如果有问题请更新至最新版本再试试 HAL_NVIC_ClearPendingIRQ(EXIT_jiedi_EXTI_IRQn);
__HAL_GPIO_EXTI_CLEAR_FLAG(EXIT_jiedi_Pin);
__HAL_GPIO_EXTI_CLEAR_IT(EXIT_jiedi_Pin);
利用这三句话,清除中断请求,在打开中断,就不会进入中断服务程序了。 lazy20017 发表于 2017-12-20 10:47
HAL_NVIC_ClearPendingIRQ(EXIT_jiedi_EXTI_IRQn);
__HAL_GPIO_EXTI_CLEAR_FLAG(EXIT_jiedi_Pin);
__HAL_GP ...
我看来下__HAL_GPIO_EXTI_CLEAR_FLAG(__EXTI_LINE__) 和__HAL_GPIO_EXTI_CLEAR_IT(__EXTI_LINE__)
都宏定义成了(EXTI->PR1 = (__EXTI_LINE__)) 。没必要两句都写上了把
页:
[1]