建议你去看看这个帖子,很经典的算法
【安富莱STM32-V6开发板试用体验】+1.STM32F429之经典按键检测http://bbs.icxbk.com/thread-102588-1-1.html(出处: ICKEY BBS)
可以进行多次的状态读取,得到的不同的状态,哪个状态的次数多,按哪个算。
也可以在硬件上进行滤波,加上电容
通常是延时等待,然后再次读取,以确定按键状态。
常用的方法是,在按键对应的IO中断被触发后,等待一段时间,再次读取那个IO的电平,确认是否为按下的状态,这是依靠延时来消除抖动的方法
还有就是硬件上面可以做一个RC电路来延时实现