找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6676|回復: 0
打印 上一主題 下一主題
收起左側

while(1){}和while(1);

[復制鏈接]
跳轉到指定樓層
樓主
ID:379308 發(fā)表于 2018-10-19 09:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機中while(1)有兩種用途,
while(1);
意義:這是一個死循環(huán),代碼不再向下執(zhí)行。
用途:
1. 一般在調試代碼時,為了檢測一部分代碼是否OK,防止后面的代碼干擾執(zhí)行結果,會在觀測點加上while(1);
2. 有些代碼檢測到運行錯誤時,會拋出錯誤(打印、設置錯誤碼),然后進入while(1);
3.  機器需要復位時,停止喂看門狗,進入while(1); 迫使看門狗超時,產生硬件復位
while( 1 ) { 代碼 }意義:這里將會重復執(zhí)行{}中的代碼用途:1.  單片機在不使用操作系統(tǒng)時,主程序一般都使用這種架構2. 操作系統(tǒng)中的進程,執(zhí)行任務時,有些也會使用這種架構3. {}中的代碼不停地檢測某個條件,當條件符合時,跳出該循環(huán),繼續(xù)向下執(zhí)行我們在單片機中使用while(1),大部分還是為了防止程序跑飛,因為很多時候執(zhí)行完某段程序后單片機的程序指針PC(就是程序指針)并不會停止,仍然會繼續(xù)從ROM中讀取指令并執(zhí)行,這樣一來可能會出現(xiàn)程序跑飛的情況,進而出現(xiàn)不確定的結果,我們加個while(1)就能讓程序在執(zhí)行完后在原地循環(huán),相當于停在原地,防止跑飛





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表