ESP32 Timer Problem
Posted: Fri Apr 01, 2022 7:34 pm
I added four timers to realize the timing of 1, 2, 3, and 4 seconds respectively, but it is obvious that Timer1 does not work. I want to know why.
- #include "esp_system.h"
- const int wdtTimeout = 1000;
- hw_timer_t *timer0 = NULL;
- hw_timer_t *timer1 = NULL;
- hw_timer_t *timer2 = NULL;
- hw_timer_t *timer3 = NULL;
- void ARDUINO_ISR_ATTR resetModule0() {
- Serial.println("1");
- timerDetachInterrupt(timer0);
- timer0 = NULL;
- }
- void ARDUINO_ISR_ATTR resetModule1() {
- Serial.println("2");
- timerDetachInterrupt(timer1);
- timer1 = NULL;
- }
- void ARDUINO_ISR_ATTR resetModule2() {
- Serial.println("3");
- timerDetachInterrupt(timer2);
- timer2 = NULL;
- }
- void ARDUINO_ISR_ATTR resetModule3() {
- Serial.println("4");
- timerDetachInterrupt(timer3);
- timer3 = NULL;
- }
- void setup() {
- Serial.begin(115200);
- Serial.println();
- Serial.println("running setup");
- timer0 = timerBegin(0, 80, true); //timer 0, div 80
- timerAttachInterrupt(timer0, &resetModule0, true); //attach callback
- timerAlarmWrite(timer0, wdtTimeout * 1000, false); //set time in us
- timer1 = timerBegin(1, 80, true); //timer 0, div 80
- timerAttachInterrupt(timer1, &resetModule1, true); //attach callback
- timerAlarmWrite(timer1, wdtTimeout * 2000, false); //set time in us
- timer2 = timerBegin(2, 80, true); //timer 0, div 80
- timerAttachInterrupt(timer2, &resetModule2, true); //attach callback
- timerAlarmWrite(timer2, wdtTimeout * 3000, false); //set time in us
- timer3 = timerBegin(3, 80, true); //timer 0, div 80
- timerAttachInterrupt(timer3, &resetModule3, true); //attach callback
- timerAlarmWrite(timer3, wdtTimeout * 4000, false); //set time in us
- timerAlarmEnable(timer0);
- timerAlarmEnable(timer1);
- timerAlarmEnable(timer2);
- timerAlarmEnable(timer3);
- }
- void loop() {
- Serial.print("#");
- delay(100);
- }
- [2022-04-02 03:32:33.631]
- running setup[2022-04-02 03:32:33.631]
- ##########1[2022-04-02 03:32:34.620]
- ####################3[2022-04-02 03:32:36.631]
- ##########4[2022-04-02 03:32:37.621]