问一个逻辑

2019-08-17 08:30发布

执行状态0;满足条件状态置1,等待100ms,如果没有中断发生状态置0,有中断就执行状态1,,,,现在这个状态机在中断里面,所以延时不能放中断里面,有没有什么好办法
大概是这样
switch(state)
{
case 0:
         state=1;
         delay(100);
        state=0;
        break;
case  1:
        xxxx();
        break;
}   
     
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
30条回答
执迷
2019-08-18 11:47
MrXiong 发表于 2017-6-10 13:32
我讲一下我的理解,我觉得直接在中断服务函数弄一个标志位,然后再主函数的循环体里面判断这个标志。假设中 ...

你说的这个我试过、、、、第一个中断进入判断延时100ms如果没有发生第二个中断是可以、、问题是如果在延时的100ms里如果发生了好几个中断,它不会重新判断有没有中断产生,也不会重新延时100ms、

一周热门 更多>