本人菜鸟学习STM8,在学习外部中断过程中发现了一个奇怪的问题,我的代码如下:
int main( void )
{
GPIO_DeInit(GPIOF);
GPIO_Init(GPIOF,GPIO_Pin_0,GPIO_Mode_In_PU_IT);
GPIO_Init(GPIOF,GPIO_Pin_1,GPIO_Mode_Out_PP_Low_Fast);
disableInterrupts();
EXTI_DeInit();
EXTI_SetPinSensitivity(EXTI_Pin_0,EXTI_Trigger_Falling_Low);
enableInterrupts();
GPIO_WriteBit(GPIOF,GPIO_Pin_1,RESET);
while(1);
}
怪就怪在当执行enableInterrupts()语句后,程序会立马进入到外部中断服务程序内!而后当我给PF0低电平时,它是能正常进入中断服务程序的,说明程序整体上并无问题!通过调试发现当我将 GPIO_Init(GPIOF,GPIO_Pin_1,GPIO_Mode_Out_PP_Low_Fast);注释掉后,程序就不会出现上述现象,当我加上后又会出现执行enableInterrupts()后会立马进入中断,这是为什么呢?求人指教!!
|