From eb4e30f79ab5615884dd702cad0f0e3f2082c327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?King=20K=C3=A9vin?= Date: Mon, 23 Aug 2021 17:34:25 +0200 Subject: [PATCH] main: improve button press detection --- main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index e2bc7bd..8c0c7d8 100644 --- a/main.c +++ b/main.c @@ -308,10 +308,10 @@ void main(void) IWDG_KR = IWDG_KR_KEY_REFRESH; // reset watchdog // handle button press if (rw_button_pressed) { - wait_10us(100); // wait 1 ms for the noise to be gone + wait_10us(10000); // wait 100 ms for the noise to be gone + IWDG_KR = IWDG_KR_KEY_REFRESH; // reset watchdog if (0 == (RW_BUTTON_PORT->IDR.reg & RW_BUTTON_PIN)) { // ensure the button is pressed (the pull-up is really weak) run_led_off(); // clear RUN LED to see result at the end - wait_10us(10000); // debounce for 100 ms uint8_t press_duration = 1; // start counting how long the button is pressed while (0 == (RW_BUTTON_PORT->IDR.reg & RW_BUTTON_PIN)) { // wait until button is depressed wait_10us(10000); // wait for 100 ms