Pemanfaatan Timer pada ESP8266

Interrupt Software Timer

#include <ESP8266WiFi.h>
#include <Ticker.h>  
Ticker blinker;
#define LED 2  //On board LED
void changeState()
{
  digitalWrite(LED, !(digitalRead(LED)));  
}

void setup()
{
    pinMode(LED,OUTPUT);
    blinker.attach(0.5, changeState); //atau attach_ms dalam milisecond
}

void loop()
{
}

Interrupt Hardware Timer (Timer1), Timer0 tidak bisa digunakan karena untuk koneksi WiFi

#include <ESP8266WiFi.h>
#include <Ticker.h>
Ticker blinker;
#define LED 2  //On board LED
void ICACHE_RAM_ATTR onTimerISR(){
    digitalWrite(LED,!(digitalRead(LED)));  //Toggle LED Pin
    timer1_write(600000);//12us

}


void setup()

{

    pinMode(LED,OUTPUT);

 


    timer1_attachInterrupt(onTimerISR);

    timer1_enable(TIM_DIV16, TIM_EDGE, TIM_SINGLE);

    timer1_write(600000); //120000 us

}


void loop()

{

}


Sumber:

https://circuits4you.com/category/esp8266/

https://www.switchdoc.com/category/esp8266/