當單片機執行while(1);語句時,cpu究竟在做些什麼?

知識匯聚


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是代碼行標記號


分享到:


相關文章: