詹科联手走天下吗 发表于 2017-8-14 14:18:12

请问下stm32的hal库怎么清除外部中断

进入中断处理函数后,我该怎么清除外部中断的标志位比如中断4

张亚飞 发表于 2017-8-14 14:18:13

这个函数里边已经清了中断。 看看你的外部中断处理函数里边的内容是不是搭建的有问题。




Dandjinh 发表于 2017-8-14 15:18:47

如果你用的是HAL库,那么库已经帮你清除标志位了,你只需要自己补全那些回调函数就可以了

詹科联手走天下吗 发表于 2017-8-14 15:47:09

Dandjinh 发表于 2017-8-14 15:18
如果你用的是HAL库,那么库已经帮你清除标志位了,你只需要自己补全那些回调函数就可以了 ...

并没有,最后我用了pr寄存器直接去清空

Dandjinh 发表于 2017-8-14 19:13:15


HAL原装代码

五哥1 发表于 2017-8-15 15:03:43

楼上正解,hal库己帮你清了

mark0668 发表于 2017-8-15 19:41:02

如果是生成的HAL 则不需要关心这个问题,如果有问题请更新至最新版本再试试

lazy20017 发表于 2017-12-20 10:47:35

HAL_NVIC_ClearPendingIRQ(EXIT_jiedi_EXTI_IRQn);
__HAL_GPIO_EXTI_CLEAR_FLAG(EXIT_jiedi_Pin);
__HAL_GPIO_EXTI_CLEAR_IT(EXIT_jiedi_Pin);
利用这三句话,清除中断请求,在打开中断,就不会进入中断服务程序了。

懒得起名1 发表于 2023-12-5 15:37:05

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]
查看完整版本: 请问下stm32的hal库怎么清除外部中断