[讨论] 考考你:中断如何打断自已?

yf19860114   2008-7-5 06:26 楼主


外部中断XINT1定时产生,在程序中当满足某个条件时执行while(1){}程序,在执行while(1){}的过程中希望中断能够正常产生,这种情况如何处理?

简单示例如下:
INTERRUPT void XINT1()
{
   int i,k;
   static bool flag=false;
   function();//执行任务
   if(flag)return;
   i++;
   if(i>100)
   {
      flag=ture;
      i=0;
    }

   while(1)
   {
      k++;
      if(k++>100000)
     {
         flag=0;
         k=0;
         break;
     }
   }
}
上例中,在程序进入while(1)后,中断就无法产生了,如果希望中断正常执行该如何处理?

[ 本贴由 lhfnjj 于 2007-7-7 10:14 最后编辑 ] 本帖最后由 dontium 于 2015-1-23 13:35 编辑

回复评论 (3)



请各位版主和大侠发表一下意见啊? 本帖最后由 dontium 于 2015-1-23 13:35 编辑
点赞  2008-7-6 02:15
if(k++>100000)
应该是
if(k++>10000)吧.
点赞  2008-7-6 11:53
楼上很细心,你说的是对的。谢谢!
点赞  2008-7-6 23:36
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复