标题:
单片机外部中断int0执行完以后,并不是返回原主程序的位置,各位大神帮帮忙
[打印本页]
作者:
dyyyx
时间:
2017-4-27 12:50
标题:
单片机外部中断int0执行完以后,并不是返回原主程序的位置,各位大神帮帮忙
一个外部霍尔传感器控制的拍照程序,当单片机外部中断int0子程序执行完以后确无法返回主程序去执行初始化程序,而导致失控死机和tft屏花屏,试过,把中断程序放入while()中,同时把初始化程序放入中断子程序当中,这样可以受控但是有一定的几率 tft液晶屏 会花屏(有图像,但是屏幕变成有明显分割线的,且不显示图像不规则。)各位大神帮帮忙,就是想当中断子程序执行完以后,返回主程序重头开始执行。
作者:
bayga456
时间:
2017-4-28 10:29
估计是初始化程序过程中再次产生中断,试试在初始化完成以后再开中断。说得不对见谅。
作者:
yzwzfyz
时间:
2017-4-29 02:01
如果中断未发生在程序运行至主程序的时刻,当然就不会返回主程序了。中断只返回于发生中断的那个地方。除非用非常规的手段使之发生异常转移(程序修改了堆栈里的返回地址)
作者:
zl2168
时间:
2017-4-29 21:48
c51程序能自动完成中断后返回主程序,不需在程序中画蛇添足。你的问题可能就是画蛇添足了,你说:“把初始化程序放入中断子程序当中”,毛病就出在这里。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1