主函数一定要有while(1)吗?
在我两次移植例程时,执行的结果都不对,后来检查发现,缺省了while(1),加上之后结果就正确了,这让我百思不得其解,于是我又各种查资料。
这是各中单片机自身决定的。有的单片机程序内如果没有循环程序,那它会从头执行到最后,然后返回最开始继续执行。而有的单片机再执行一次之后,就会停止。有的则是执行完后可能会进入无序运行状态,程序就跑飞了。main函数不能终止,要一直的循环。
所以,在写或者移植单片机程序的时候,最好是加上while循环,即便程序只运行一次,也要在最后加上while(1);使其一直指向这个语句而不会出现误操作。
while(1)的用处也很多,例如执行流水灯、检测状态位等等,它更多的用法还有待发掘。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)