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/