单片机的主程序中为什么都要加一个while(1)?

单片机的主程序中为什么都要加一个while(1)?

*** * C51 为什么都要加一个while(1)?******

while(1)的作用:

while(1) 是一个死循环 为了不让代码继续向下执行。

单片机中使用while(1),大部分:为了防止程序跑飞;

程序执行完之后 单片机的程序计数器 PC(程序指针) 并不会停止 而是会继续从ROM(总存储内存) 继续读取指令并执行,这样就会出现不确定的情况,导致程序跑飞的可能性增加。

加上while(1) 就会让程序停在原地,防止跑飞。

原则上讲,如果程序中没有加结尾的话,程序计数器会一直累加,继续执行 正常程序之后的 ROM空间里面的指令;ROM里面的指令一般都为0xFF, 若不是此时就需要看该条指令的含义;

如果是空的话,就会一直执行到最后 直至程序计数器溢出;

但程序计数器溢出之后的状态无法判断 有可能复位 有可能让单片机直接卡死在这里工作不了,此时就需要看单片机的具体设计了。

所以在主程序中 加上while(1) 是非常必要的。

出自:CSDN code_snow

✨ 相关推荐

我的家乡简笔画可打印打印版(高清15张)
365国际体育官网

我的家乡简笔画可打印打印版(高清15张)

📅 11-15 👀 8186
抖音直播怎么引流(9大引流技巧)
365国际体育官网

抖音直播怎么引流(9大引流技巧)

📅 08-21 👀 9345
HIFIDIY论坛
365bet备用器下载

HIFIDIY论坛

📅 01-08 👀 1351