hw_timer_t *timer1 = NULL;
hw_timer_t *timer2 = NULL;
unsigned int resetTimer = 0;
volatile int counter = 0;
void IRAM_ATTR onTimer800(){
counter = counter+1;
}
void IRAM_ATTR onTimer500(){
counter = counter-1;
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
timer1 = timerBegin(0, 40, true);
timerAttachInterrupt(timer1, &onTimer800, true);
timerAlarmWrite(timer1, 800000, true);
timerAlarmEnable(timer1);
timer2 = timerBegin(1, 40, true);
timerAttachInterrupt(timer2, &onTimer500, true);
timerAlarmWrite(timer2, 500000, true);
timerAlarmEnable(timer2);
}
void loop() {
unsigned int time=millis();
Serial.print("\n");
Serial.print("Detik : ");
Serial.print(time);
Serial.print(" , Counter: ");
Serial.print(counter);
delay (100);
// put your main code here, to run repeatedly:
}