大家有什么好的外部中断按键去抖的方法吗??都快崩溃了。。。

2019-03-23 15:38发布

大家有什么好的外部中断按键去抖的方法吗??因为比赛的需要,要让输出步进可调,所以打算在外部中断里面改输出值,但是按键抖个不停啊,已经软件延时消抖了,还是抖啊。用的是stm32f407。
代码如下,有什么需要改的吗??
  1. void EXTI2_IRQHandler(void)
  2. {
  3.   EXTI->IMR&=~(1<<2);
  4.   if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_2)==0)         
  5.   {
  6.     delay_ms(30);
  7.     if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_2)==0)
  8.     {
  9.       vtg-=200;
  10.       DAC_SetVol(vtg);
  11.     }
  12.   }
  13.   EXTI_ClearITPendingBit(EXTI_Line2);  
  14.   EXTI->IMR|=1<<2;
  15. }
复制代码
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。