|
发表于 2018-1-12 19:56:55
|
显示全部楼层
这是一种很常见的写法,while(表达式);当表达式的值不为0时,执行while函数里面的循环。这个表达式一般是按键的松键检测,按键的接法一般是一端接单片机的IO脚,另一端接地,当你按一下按键时,执行按键对应的程序操作,但由于单片机的工作速度太快了,所以在大循环里,你就算只按了一下按键,但单片机可能就执行了上百次的按下按键的操作了,这样显然不符合要求,所以就加上这一句,强制把单片机的执行中止,直到你松开按键,程序再继续执行。
按键没按下时,key1的值为1,表达式(!1)==0,所以 while(0);结果是不执行循环,程序继续向下执行,当按键按下后 key1的值为0,表达式(!0)==1 ,于是 while(1); 程序就永远在这里死循环了,直到松开按键,key1的值变为1,才继续向下执行。 |
评分
-
1
查看全部评分
-
|