51系列单片机在处理中断时影响主程序吗??处理中断程序时主程序还在继续执行吗??还是已经停止了

51系列单片机在处理中断时影响主程序吗??处理中断程序时主程序还在继续执行吗??还是已经停止了,第1张

你还没有理解中断的意义!中断产生了,单片机就停止执行主函数,进入中断执行中断(中断得打开),当执行完中断后,单片机又回到主函数执行。就像我现在在看别人提出的问题,当我看到你的问题时(中断产生),我就进来回答(执行中断),回答完后我得继续看别人提出的问题(返回主函数),我回去看别人提出的问题时既不会从头看起,也不会往后看很多,而是从你问题后的问题继续看!

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

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

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

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

重新设计流程,

使用嵌入式 *** 作系统。

有几种可能:

1、你的外部中断是电平触发,当你中断执行完毕后,电平还是没有变,就等于又中断了,建议你改为边沿触发

2、你在进入中断后,没有保存现场,内存的数据乱了,结果中断完成后就回不去了

3、中断程序有问题,这要对照具体的程序才知道


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8065622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存