keil在编程单片机程序中while(1)的问题

keil在编程单片机程序中while(1)的问题,第1张

while(1)的作用是让单片机在没有中断响应时也保持程序执行,再准确些说是保持“空循环”,有兴趣的话可以看对应的汇编文件,一般是个JMP指令在不断绕圈。

如果没有这个while(1)的话,main()函数执行完timer0Init()后单片机程序会继续向后执行,main()函数结束,程序接下来会不知道要干什么,有可能跑飞,也有可能重启,总之是失控了,所以为了让程序的运行可控,需要有这个while(1)。

这个问题很普遍存在,单步运行时可以通过,但全速运行就卡在那里了,有两种可能:

1)你的程序已经跑飞了,在你的肉眼看不出来时,已经停止了。你需要修改一下程序

2)里面涉及中断的程序了。

我建议的解决办法

不要使用keil仿真,直接用单片机硬件进行仿真,这样效果会好一点!

以上就是关于keil在编程单片机程序中while(1)的问题全部的内容,包括:keil在编程单片机程序中while(1)的问题、Keil在线编程调试时,为什么单步执行时键盘中断能很好的进入,而在全速执行时,中断就出错了呢、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10161798.html

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

发表评论

登录后才能评论

评论列表(0条)

保存