大家有什么好的外部中断按键去抖的方法吗??因为比赛的需要,要让输出步进可调,所以打算在外部中断里面改输出值,但是按键抖个不停啊,已经软件延时消抖了,还是抖啊。用的是stm32f407。
代码如下,有什么需要改的吗??
- void EXTI2_IRQHandler(void)
- {
- EXTI->IMR&=~(1<<2);
- if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_2)==0)
- {
- delay_ms(30);
- if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_2)==0)
- {
- vtg-=200;
- DAC_SetVol(vtg);
- }
- }
- EXTI_ClearITPendingBit(EXTI_Line2);
- EXTI->IMR|=1<<2;
- }
复制代码
此帖出自
小平头技术问答
外加锁存器或者触发器
根据情况决定去抖时间。但一般要长一0.1S才对,--------- 自己可以感觉一下,按一次键的时间会有多长,保证长于最短时间
一周热门 更多>