C語言中什么叫死循環(huán)?
大家好,我是老馬識(shí)電,很高興為大家講解一下單片機(jī)C語言里的死循環(huán)的實(shí)例,有講不對(duì)的地方講大家指教。
用常閉按鍵(或高電平)作鍵盤輸入容易造成死循環(huán)。先看程序。
if (keyin==1)
{
delay(100);//防抖動(dòng)
if (keyin==1)
{
bell();//聲響提示松開按鍵
//鍵值處理
while(keyin==1)//等待松開按鍵
{}
delay(100);//防抖動(dòng)
}
}
程序員意圖用常閉按鍵作鍵盤,有鍵值輸入后,等待操作人輕開鍵盤再往下執(zhí)行程序。如果一段時(shí)間沒有使用該按鍵,按鍵里的觸點(diǎn)氧化無法接通時(shí),鍵值就一直是斷開(高電平)狀態(tài),此時(shí)就會(huì)在
while(keyin==1)//等待松開按鍵
{}
出現(xiàn)死循環(huán)。
因此,在單片機(jī)控制系統(tǒng)里應(yīng)盡量用按鍵的常開點(diǎn)作鍵盤輸入。