Оставлю это здесь, может кому-то понадобится..... Будет работать на любой плате ESP32, главное чтобы для GPIO, к которому будет подключена кнопка, была возможность активировать внутренний "подтягивающий" резистор (на ESP32 не для всех портов ввода/вывода доступна такая возможность). В этом примере кнопка подключена к GPIO1 (отладочная плата ESP32-S3-DevKitC-1). После выполнения строки кода: pinMode(buttonPin, INPUT_PULLUP); на выходе IO1 будет логическая 1. При нажатии кнопки логический 0. Пример выводит в монитор порта строку "buttonClick" при однократном нажатии на кнопку. Код: В секции setup определяется название функции (debounceButton), которая будет вызываться каждый раз при изменении состояния порта ввода/вывода buttonPin. где режим прерывания (FALLING) определяет, когда прерывание будет происходить. Другие возможные режимы: При нажатии на кнопку, состояние порта меняется c 1 на 0 (кнопка "подтягивает" выход к земле) - поэтому используется режим "FALLING". Вся магия происходит в
Обработка дребезга в процедуре прерываний на ESP32
29 декабря 202429 дек 2024
442
2 мин