写1838红外收发程序返回不了主函数

2020-01-30 13:57发布

写1838红外解码程序时,遇到问题。经调试,有以下结论:
1.用外部中断0检测按键,结果通过两个数码管动态扫描显示。主函数始终在display(),即动态扫描。
2.外部中断不触发时,程序运行正常。
3.外部中断触发后,程序能从中断开始一直运行到中断最后一行但是最后一行运行完后,程序停留在这里,不返回主函数。(中断函数开始EX0=0;末尾出有EX0=1)。
4.一次外部中断结束后,再按下一个键,能够再次进入中断,现象同3。

所以现在想问问各位,什么情况下会导致单片机有这种好像一直停留在中断函数函数尾,不返回主函数的现象?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
灰灰不会飞
1楼-- · 2020-01-30 18:02
 精彩回答 2  元偷偷看……
lxa0
2楼-- · 2020-01-30 19:25
你没用返回指令?
灰灰不会飞
3楼-- · 2020-01-30 23:48
lxa0 发表于 2013-3-28 20:43
你没用返回指令?

我用的c语言编译的 不用返回指令吧

电子爱好者_MCU
4楼-- · 2020-01-31 00:58
你的意思是 在中断中设置返回值吗? 函数直接共享参数 可以通过全局变量 这个红外模块在进中断前做个简单的判断 稍微延时再判断 那样效果会好点
贝贝M
5楼-- · 2020-01-31 06:34
怀疑是你的中断函数有问题
灰灰不会飞
6楼-- · 2020-01-31 06:38
 精彩回答 2  元偷偷看……

一周热门 更多>