[英]infinite While loop without statement
它的意思是什么? 我在下面看到了嵌入式c程序中代碼的一部分。我知道這是一個無限循環,但出於什么目的,這部分代碼在嵌入式c中使用。
while(1)
{
}
謝謝..
該構造用於兩個不同的目的。
while(1) { }
構造停止進一步執行,直到(看門狗)復位重新啟動微控制器。 所有嵌入式系統都需要無限循環,因為只要電源打開,它們就必須繼續執行。 嵌入式程序只執行然后返回沒有任何意義,因為這會使處理器死機和空閑。 這可能是該循環的唯一目的。
我猜你的代碼來自裸機微控制器應用程序,所以你可以安全地忽略所有PC程序員關於睡眠和多線程的評論; 對於微控制器應用而言,沒有任何意義不消耗100%的CPU,因為除了你之外沒有其他人在使用它。
如果你在嵌入式系統上睡覺,你可以將實際的微控制器硬件置於睡眠狀態,如果它支持的話。 這樣做是為了節省電力,而不是為了節省CPU周期。
某些操作系統(如uC / OS)在沒有其他任務正在運行時需要執行空閑任務。 這將是最低優先級,如果它有機會運行,它將被計時器(調度程序)打勾搶占。 您描述的案例可能是一項任務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.