#include <stdio.h>
#include "driver/gpio.h"
#include "freertos/FreeRTOS.h"
#define BTN_RED GPIO_NUM_12
volatile bool button_pressed = false;
void IRAM_ATTR gpio_isr_handler(void* arg) {
button_pressed = true;
}
void button_config() {
gpio_install_isr_service(0);
Serial.println("configuring button");
gpio_reset_pin(BTN_RED);
gpio_set_direction(BTN_RED, GPIO_MODE_INPUT);
gpio_pullup_en(BTN_RED);
gpio_set_intr_type(BTN_RED, GPIO_INTR_POSEDGE);
gpio_isr_handler_add(BTN_RED, gpio_isr_handler, NULL);
Serial.println("config complete");
}
void setup() {
Serial.begin(115200); // Inicializa a comunicação serial
button_config();
}
void loop() {
if (button_pressed) {
Serial.println("OPA");
button_pressed = false;
}
}