stm32中断按键去抖

2019-07-14 22:40发布

今天使用按键进中断,发现自己去抖做的不是很好,大家有什么好的方法吗,最好是软件上的,我是进去之后等待了大约10us,然后再检测一下,引脚电平,如果是低电平就继续操作,否则不操作。(我设置的中断触发方式是下降沿触发)。
但是效果不是特别好。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
hotdll
2019-07-16 05:59
本帖最后由 hotdll 于 2016-1-8 22:26 编辑
dabing89 发表于 2015-4-21 20:22
用我这个吧,调试好的已经,按键不占用程序时间,只检测状态,在中断中运行
define _KEY_BOARD_C
#include"delay.h"

其实是占程序时间的,只不过是在中断中占用了。
这种方法又叫连续扫描法,没有延时函数,利用计数器延时判断。但是这种方法在主程序需要连续采样转换的时候不合适。因为中断会打断采样转换的连续性。

当主程序需要死循环连续采样不能间断的时候,就适合按键用外部中断触发。因为平时不用按键,主程序可以连续运行,只有调试的时候才使用按键。如果使用定时器中断查询按键,你想想程序还能工作吗?

一周热门 更多>