interrupt base Timer in ESP32
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
// WWW.ROBOTRONIX.CO.IL // TIMER EXAMPLE ESP32 // keep it simple ! // since it runs om 80Mhz and we wants to toggle evry 1 sec // 80,000,000 Hz / 80 = 1,000,000 // 1,000,000 Hz / 1,000,000 <== counter =1 Hz ==> 1 sec interrupt #define LED 21 hw_timer_t *My_timer = NULL; // interrupt function void IRAM_ATTR onTimer(){ digitalWrite(LED, !digitalRead(LED)); // toggle led } void setup() { pinMode(LED, OUTPUT); My_timer = timerBegin(0, 80, true); // timer (0-3) , perscalar , count up /down timerAttachInterrupt(My_timer, &onTimer, true); timerAlarmWrite(My_timer, 1000000, true); // counter in hz timerAlarmEnable(My_timer); //enable the timer } void loop() { } |