void EXTI4_IRQHandler(void)
{
delay_ms(10);
if(KEY0==0)
{
LED0=!LED0;
LED1=!LED1;
}
EXTI_ClearITPendingBit(EXTI_Line4);
}
将上面程序改成
void EXTI4_IRQHandler(void)
{
delay_ms(10);
if(KEY0==0)
{
LED0=!LED0;
LED1=!LED1;
EXTI_ClearITPendingBit(EXTI_Line4);
}
}会造成按键不灵了,我理解的中断清除标志位不是需要程序进入中断才需要清除么?当按键按下才会进入中断服务程序,而按键按下中断清除位不论放在IF函数里面还是外面都会执行啊, 为什么放里面就出错了?求解?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
但是还有问题啊,delayms(10)已经起到了软件消除干扰的问题了
一周热门 更多>