目的:硬件电路中有多个按键时,某一时刻只允许一个按键被按下,不允许2个以上按键保持按下状态。(也就是说当一个按键松开时才可读取下一次按键被按下的状态)思路:当一个按键被按下后,其余按键可以关闭上拉或关闭引脚中断,达到目的。 现状:通过关闭引脚中断达到避免多个按键按下判别错误,如果不用这种方式,我怎么做才可以关闭上拉呢?--想把没有被按下的引脚设为高阻态,但是写法没事出来过,望指点 相关电路图和代码如下:
你这个好办,你想事情想得太复杂了。建议如下: 1、定义一个全局变量,不管哪个按键首先按下就将该全局变量置1,即使这个时候某个按键没有释放,而又有新的按键按下的话,首先先去读这个全局变量是否置1,如果是1则不理会即可,直至按键释放
最后,后面有时间我分享下我在项目中用状态机写的一个按键处理教程,相当好用。