| 多层if嵌套是为了消除按键按下时产生的抖动,建议去看一下有关键盘章节的学习视频 |
| 都是判断当前按键状态,按下前是1.那么按下后就是0,程序就运行到了按键按下的那里,再次检测就是消抖,程序最后再检测就可以判断按键是否松开。 |
| 你要自己思考,改动这个程序,看看自己改动与原程序的区别,这样就容易摸清楚了 |
nbhmwj 发表于 2021-11-1 11:10 谢谢答主!感谢╰(*︶`*)╯ |
首先,要清楚开关按下和松开过程中的电信号变化情况,一般会有十几ms的抖动时间,如下图
其次,程序指令一般都很快,微秒级的,故循环查询时不延时处理会多次得到结果或高或低电平,会检测不到你想要的情况。 其它,如上面所说,不讲程序了 |
| 都是判断真假,if(!SW) SW=0为真,while(!SW)SW=1为假。 |
| 你觉得应该怎么写,跟他的区别在哪儿 |