C语言中什么叫死循环?
大家好,我是老马识电,很高兴为大家讲解一下单片机C语言里的死循环的实例,有讲不对的地方讲大家指教。
用常闭按键(或高电平)作键盘输入容易造成死循环。先看程序。
if (keyin==1)
{
delay(100);//防抖动
if (keyin==1)
{
bell();//声响提示松开按键
//键值处理
while(keyin==1)//等待松开按键
{}
delay(100);//防抖动
}
}
程序员意图用常闭按键作键盘,有键值输入后,等待操作人轻开键盘再往下执行程序。如果一段时间没有使用该按键,按键里的触点氧化无法接通时,键值就一直是断开(高电平)状态,此时就会在
while(keyin==1)//等待松开按键
{}
出现死循环。
因此,在单片机控制系统里应尽量用按键的常开点作键盘输入。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有