请问51单片机能不能暂停中断程序并跳转至其它程序中、执行完后跳回中断继续执行中断

请问51单片机能不能从中断程序跳转至其它程序中执行完后跳回中断继续执行中断?例如从中断中跳至case2的地方,执行完case2后跳回中断?voidTraffic_lign... 请问51单片机能不能从中断程序跳转至其它程序中执行完后跳回中断继续执行中断?例如从中断中跳至case 2的地方,执行完case 2后跳回中断?
void Traffic_lignt()
{
switch(Operation_Type)
{
case 1:
RED_A=1;YELLOW_A=1;GREEN_A=0;
RED_B=0;YELLOW_B=1;GREEN_B=1;
DelayMS(2000);
Operation_Type = 2;
break;
case 2:
DelayMS(200);
YELLOW_A=~YELLOW_A;
if(++Flash_Count !=10)
return;
Flash_Count=0;
Operation_Type = 3;
break;
case 3:
RED_A=0;YELLOW_A=1;GREEN_A=1;
RED_B=1;YELLOW_B=1;GREEN_B=0;
DelayMS(2000);
Operation_Type = 4;
break;
case 4:
DelayMS(200);
YELLOW_B=~YELLOW_B;
if(++Flash_Count !=10)
return;
Flash_Count=0;
Operation_Type = 1;
break;
}
}
展开
 我来答
linnjing
2013-09-14 · TA获得超过2632个赞
知道大有可为答主
回答量:1230
采纳率:91%
帮助的人:521万
展开全部

严格说起来,从中断程序跳转到其他程序执行一段时间,然后再返回中断,这个是可以做到的。


实事上,嵌入式的操作系统的时间片轮转,就是用定时中断,进入定时中断判断并切换上下文,切换到别的任务,执行一段时间再返回原来的流程继续执行。


但请注意,正常设计程序时,不要这么做。


如果遇到程序中需要用到这种流程控制,有两个办法,

  1. 重新设计流程,

  2. 使用嵌入式操作系统。

追问
太给力了,你的回答完美解决了我的问题!
wmailin123
2013-09-14 · TA获得超过187个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:63.3万
展开全部
高一级别的中断可以中断低一级别的中断,执行完后再跳回到低级中断中执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式