#include "ISRHandler.h"
// intr() triggered on INT=2 RISING and INT=3 FALLING
class MyInterruptHandler : public ISRHandler<2, RISING, 3, FALLING> {
protected:
void intr(uint8_t interruptNum) override {
// Handle interrupts here, INT2 and INT3 both trigger this handler
Serial.print("Interrupt ");
Serial.print(interruptNum);
Serial.println(" triggered!");
}
};
MyInterruptHandler handler;
volatile bool toggleState = false;
void setup() {
Serial.begin(115200);
while (!Serial); // Wait for Serial to initialize
Serial.println("ISRHandler test");
// Set the pins as input with pull-up resistors
pinMode(2, INPUT_PULLUP); // Set pin 2 as input with pull-up
pinMode(3, INPUT_PULLUP); // Set pin 3 as input with pull-up
pinMode(7, OUTPUT); //red LED
handler.begin(); // Start handling interrupts on pins 2 and 3
}
void loop() {
// Main code logic
if (digitalRead(2) == LOW) {
toggleState = !toggleState;
Serial.print("test");
digitalWrite(7, toggleState);
delay(250);
}
}