我写了一个外部中断函数 ,中断里面就是 把一个小灯点亮 延时 熄灭 ;
但是把函数写道中断里面执行就不好使;如果使用标志变量控制小灯 再把小灯函数写道main中 ,程序就可以执行,请问为什么?
下面是 不好使的函数 :
void EXTI9_5_IRQHandler(void)
{
EXTI_ClearITPendingBit(EXTI_Line5);
GPIO_SetBits(GPIOC,GPIO_Pin_8|GPIO_Pin_9);
delay_ms(100);
GPIO_ResetBits(GPIOC,GPIO_Pin_8|GPIO_Pin_9);
}
此帖出自
小平头技术问答
void EXTI9_5_IRQHandler(void)
{
EXTI_ClearITPendingBit(EXTI_Line5);
GPIO_SetBits(GPIOC,GPIO_Pin_9); //点亮LED
Delay(50);
GPIO_ResetBits(GPIOC,GPIO_Pin_9);
}
就是这样就挂了;
LED亮了,但是后面的延时后的熄灭却没执行。
如果是按钮的话,要注意抖动问题
一周热门 更多>