中断里写延时函数后 执行无效 移到MAIN中就好使

2019-03-23 20:19发布

我写了一个外部中断函数 ,中断里面就是 把一个小灯点亮 延时 熄灭 ; 但是把函数写道中断里面执行就不好使;如果使用标志变量控制小灯  再把小灯函数写道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);
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
ddllxxrr
1楼-- · 2019-03-24 01:17
/ 就是没有在相量表中声明下
dongencheng
2楼-- · 2019-03-24 02:28
 精彩回答 2  元偷偷看……
dongencheng
3楼-- · 2019-03-24 06:25
就是这样
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亮了,但是后面的延时后的熄灭却没执行。
guguo2010
4楼-- · 2019-03-24 10:15
你的外部中断是怎么什么触发的?
如果是按钮的话,要注意抖动问题

一周热门 更多>