#define SERIAL_SPEED 9600
const int buttonPin = 12;
const int ledPin = 25;
int ledState;
volatile bool led_change;
void IRAM_ATTR button_ISR() {
led_change = true;
}
void setup() {
// Configuracion de puertos
pinMode(ledPin, OUTPUT);
Serial.begin(SERIAL_SPEED);
// Inicializacion de variables
led_change = false;
ledState = LOW;
digitalWrite(ledPin, ledState);
attachInterrupt(digitalPinToInterrupt(buttonPin), button_ISR, RISING);
// Iniciacion del puerto serial
Serial.println("Inicio...");
}
void loop() {
if (led_change == true) {
// Transición positiva
Serial.print("[T+]-> Led:");
Serial.println(ledState);
ledState = !ledState;
digitalWrite(ledPin, ledState);
led_change = false;
}
}