知識匯聚
while(1)是一個循環條件判斷語句,一般情況下,單片機的主程序中都會有一個
while(1){}(或者for(;;){})。具體原因我們下面來詳細解釋一下。
首先我們來看看while(1)語句的作用。
一、while(1)語句的作用
C語言中,while是一個循環語句,while的語法格式如下。
判斷的主體是while後面括號內的數據,當這個數據為0時,不執行循環體內的語句,當該值為非0時,執行循環體內的語句。
{
while(1) 表示無限循環。一直執行循環體內語句。
二、單片機主程序中為什麼要用while(1)語句
單片機C語言的主程序,通常要用一個while(1)語句來讓程序進入一個無限循環,目的是為了讓程序一直保持在我們需要運行的情況下。
關於單片機主程序中while(1),我曾經寫過一篇文章《關於單片機主程序中while(1)循環的作用的驗證》。
在這篇文章中,我詳細分析及驗證了在主程序中有while(1)語句和沒有while(1)單。語句時,片機程序分別會有怎樣的執行情況。
大家有興趣的話,可以去看看這篇文章。
老馬識途單片機
看彙編代碼就明白了,其實就是一條jmp跳轉語句,就跳到jmp前面重複執行這條跳轉語句,比如:dst: jmp dst,其中,dst是代碼行標記號