在 stm32f4 发现上去抖动

Debouncing on stm32f4 discovery

void EXTI3_IRQHandler(void){


    //Clear the EXTI pending bits   
    NVIC_ClearPendingIRQ(EXTI3_IRQn);
    EXTI->PR|=(1<<3);

    count++;    


}

这是我的中断例程。如果按下按钮,则会发生中断,然后计数会增加。我不知道我如何解决弹跳按钮问题。请帮助我!

这通常涉及在一小段延迟后读取输入。

在您的中断处理程序中,清除挂起位并将标志设置为真。

在您的主循环中,检查标志是否为真。如果是,请添加延迟(例如 20 毫秒),读取您的输入并清除标志。

如果您的应用程序不能接受延迟,请对计时器执行相同的操作。