GPIO_Init(GPIOB, 3, GPIO_Mode_In_PU_IT);
EXTI_DeInit();
EXTI_SetPinSensitivity((EXTI_Pin_TypeDef)EXTI_Pin_3, EXTI_Trigger_Rising);
enableInterrupts();
while(1);
这段程序初始化下来,意图是将GPIOB初始化成外部中断,下降沿触发到EXTI3_IRQHandler中(根据DATASHEET,PORT几就映射到EXTI几)
但是运行时却发现一直进EXTI1中断,执行了清中断指令还是反复进来。GPIO口初始化时, 只有B3这一个口是带IT的,不知到为什么还会进EXTI1? 而且如果我将SetPinSensitivity注释掉的话,就不会反复进中断了。这是怎么回事呢??
BY THE WAY, STM8L外部中断看着还真晕乎乎
INTERRUPT_HANDLER(EXTI1_IRQHandler, 9){
EXTI_ClearITPendingBit(EXTI_IT_Pin1);
} |