它的意思是什么?我在下面看到了嵌入式c程序中代码的一部分。我知道这是一个无限循环,但出于什么目的,这部分代码在嵌入式c中使用。
while(1)
{
}
谢谢..
答案 0 :(得分:10)
此构造用于两个不同的目的。
while(1) { }
构造停止进一步执行,直到(看门狗)复位重新启动微控制器。答案 1 :(得分:2)
所有嵌入式系统都需要无限循环,因为只要电源打开,它们就必须继续执行。嵌入式程序只执行然后返回没有任何意义,因为这会使处理器死机和空闲。这可能是该循环的唯一目的。
我猜您的代码来自裸机微控制器应用程序,因此您可以放心地忽略所有PC程序员关于睡眠和多线程的评论;对于微控制器应用而言,没有任何意义不消耗100%的CPU,因为除了你之外没有其他人在使用它。
如果您在嵌入式系统上睡觉,您可以将实际的微控制器硬件置于睡眠状态(如果它支持)。这样做是为了节省电力,而不是为了节省CPU周期。
答案 2 :(得分:0)
某些操作系统(如uC / OS)在没有其他任务正在运行时需要执行空闲任务。这将是最低优先级,如果它有机会运行,它将被计时器(调度程序)打勾抢占。您描述的案例可能是一项任务。