我的中断程序的配置完全是按照例程来的,但是会有不能退出中断的情况(几率很小,但是出现的话就死机了,不能退出)。找了很久也没有找到问题所在。 另外问一下,中断函数一般式先清标志,还是退出的时候再清标志 下面是中断部分的代码,大家帮我找一下问题所在。 //外部中断 void ExInt_Config(void) { //GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; //P_TOUCH_IRQ GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource3); EXTI_InitStructure.EXTI_Line = EXTI_Line3; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure);
}
void EXTI3_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line3) != RESET) { Touch_on=1; /* Clear the EXTI line 9 pending bit */ EXTI_ClearITPendingBit(EXTI_Line3); } } |