while(!k1);
供稿:hz-xin.com 日期:2025-01-14
我在看51单片机代码的时候有一个while(!K1),后面写的作用是是“按键释放”。K1是按键,
若K1为假,则!K1为真,执行while下的语句
若K1为真,则!K1为假,跳出while语句
当k1等于0的时候执行while下的语句
没意思,要么无限循环,要么一次也不执行
while(k1) 表示while(k1!=0)
那么while(!K1)就表示while(K1==0)
就是按键按下时在这里等待,如果按键抬起,就可以运行下一句了
当!k1成立时执行循环
即k1不成立时
也即k1==0时
比如这个独立按键程序:while(!k1); 的循环体是空语句,就是说如果括号里的值为真,就一直循环执行空语句,也就是什么也不做,就是等待。
而当括号里的值为假,则跳出这个while的空语句循环,继续往下执行程序。这里跳出while循环后 viod keypros这个子函数就结束了。
若K1为假,则!K1为真,执行while下的语句
若K1为真,则!K1为假,跳出while语句
当k1等于0的时候执行while下的语句
没意思,要么无限循环,要么一次也不执行