找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1043|回复: 4
收起左侧

求大神帮我看下这个单片机暂停程序!

[复制链接]
ID:366534 发表于 2018-7-6 21:10 | 显示全部楼层 |阅读模式
void GO_ON(void) interrupt 0
{
          EA = 0;
}

void STOP(void) interrupt 2
{   
          flag = 1;
          while(flag);
}
我的想法是用两个按键外部中断按键1暂停程序的运行,外部中断按键0打断中断1,在中断0里关掉所有中断,就可以继续运行程序了,可是程序进行到while(flag);这里就卡死了,按键触发中断0好像打断不了中断1,请问一下是为什么啊

回复

使用道具 举报

ID:366534 发表于 2018-7-6 21:10 | 显示全部楼层
在线等,求大神帮我讲一下,谢谢了1
回复

使用道具 举报

ID:366562 发表于 2018-7-6 21:54 | 显示全部楼层
暂停的话我一般是新加switch语句
回复

使用道具 举报

ID:308437 发表于 2018-7-6 22:58 | 显示全部楼层
你尝试值关断定时器1,不要关总中断。
void GO_ON(void) interrupt 0
{
         ET0=1;;
}
你试一下
回复

使用道具 举报

ID:142059 发表于 2018-7-6 23:40 | 显示全部楼层
你设置一个全局变量,代替main()函数晨的while(1)里的1,通过外部中断改变全局变量的值就可以实现了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表