用一个按键通过INT0中断计数,如何防抖?

2019-03-24 20:43发布

用INT0中断,用一个按键计数(即按一下键,中断一次,数字加1),然后根据计数器的值去完成不同的任务。但发现有时会连跳几个数,显然是按键抖动造成的,请教在INT0中,如何防抖?

interrupt [EXT_INT0] void ext_int0_isr(void)
{

   ID++;   
}

if (ID==1)
   {任务1}
else if(ID==2)
   {任务2}
else if(ID==3)
   {任务3}
。。。。
知道的请指教,非常感谢。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
youimisss
2019-03-25 05:52
硬件上可以在按键上并一个104电容,软件上可以一旦进入中断就关闭,执行完后再开启

一周热门 更多>