void EXTI15_10_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line13)!= RESET)
{       
//your code1
EXTI_ClearITPendingBit(EXTI_Line13);         
}


if(EXTI_GetITStatus(EXTI_Line14)!= RESET)
{         
        EXTI_ClearITPendingBit(EXTI_Line14);
//your code2
}

}

前面清的话,如果下一次中断在该次中断退出前到来,那么该次中断退出(EXTI_ClearITPendingBit()执行)后,会马上进入下一次中断;

后面清的话,在该次中断退出(EXTI_ClearITPendingBit()执行)前到来的中断就会被忽略。这里后到来的中断,指的是同样的中断

为了保险起见,还是在中断函数的后面清比较好。在开始的时候清除中断标志,可能会造成程序的不稳定。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐