#define LED_PIN 2
#define LED2_PIN 4
bool timerFlag = false;
void IRAM_ATTR isrBlinkLED(){
digitalWrite(LED2_PIN, !digitalRead(LED2_PIN));
timerFlag = true;
}
void setup() {
// put your setup code here, to run once:
pinMode(LED_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
hw_timer_t *myTimer = timerBegin(1000000);
timerAttachInterrupt(myTimer, isrBlinkLED);
timerAlarm(myTimer, 500000, true, true);
}
void loop() {
// put your main code here, to run repeatedly:
while (!timerFlag);
timerFlag = false;
digitalWrite(LED_PIN, LOW);
while (!timerFlag);
digitalWrite(LED_PIN, HIGH);
}