const int buttonPin = 33;
const int ledPin = 17;
int buttonState = 0;
int lastMillis = 0;
void IRAM_ATTR function_ISR() {
if(millis() - lastMillis > 100){ // Software debouncing buton
Serial.println("ISR triggered");
//ets_printf("ISR triggered\n");
buttonState = !buttonState;
digitalWrite(ledPin,buttonState);
}
lastMillis = millis();
}
void setup() {
Serial.begin(115200);
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin,OUTPUT);
attachInterrupt(buttonPin, function_ISR, CHANGE);
digitalWrite(ledPin, buttonState);
}
void loop() {
// Code ...
}