求助关于中断和主程序处理逻辑的问题

2019-07-21 06:38发布

先贴上代码[mw_shl_code=applescript,true]int main()
{
        while(1)
        {
                函数1()
                        {
                                语句1;
                                语句2;

                                语句3;
                                语句4;
                                语句5;                               
                        }
        }
}[/mw_shl_code]

假如说,我正在处理函数1,运行到了语句2,这个时候,收到了一个中断的信号,程序跳转到中断中去,处理中断命令,但是处理这个信号的函数2耗时很长,不能放在中断服务函数里去,就只在中断服务函数里放了一个标志位。
但是我想用最快的速度去处理这个中断的标志位,就是去处理函数2,至于函数1的语句345,我就不运行了
我现在的想法是,直接在语句2的的后边放一个判断中断标志位的语句,判断正确,直接return 函数2。
不知道我这个想法可行不,这只是个假设,语句那么多,每一句下边放一个判断和return,也不合适。或者有没有其他更好的方法。
大家有什么指教的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
warship
2019-07-21 19:39
本帖最后由 warship 于 2018-12-19 21:31 编辑

给你写一个参考一下:
int main()
{   
   初始化语句;
    for(;;){   

   while(1)
    {
        语句1;
        语句2;
        if(Flag==1)
            {
              长时处理数据语句;   //可以独立写成一个函数调用  
               Flag=0;  //清中断标志  
              break;}
         语句3;
         语句4;
         语句5;               
      }
   }
}


一周热门 更多>