#include "esp32-hal-timer.h"
hw_timer_t *timer = NULL;
void IRAM_ATTR blink() { digitalWrite(22,!digitalRead(22 ));}
void setup() {
Serial.begin(115200);
Serial.println("Hello ESP32");
pinMode(23, OUTPUT); // Red Led
pinMode(22, OUTPUT); // Blue Led
pinMode(32, INPUT_PULLDOWN); //Pushbutton
timer = timerBegin(100000); //1 ms
if(timer == NULL) {
Serial.println("Timer initialization failed!");
while(1); //Stop if timer failed
}
timerAttachInterrupt(timer, &blink); //Attach blink ISR
timerWrite(timer, 0);
//Set alarm, triggering every million ticks = 1s
timerAlarm(timer, 1000000, true, 0);
timerStart(timer); //Start timer
Serial.println("Timer started");
}
void loop() {
digitalWrite(23, digitalRead(32));
}