debounce_cnt = DEBOUNCE_DELAY;
TCCR0A = 0; // no prescaler, WGM = 0 (normal)
- TCCR0B = 1<<WGM01; //
+ TCCR0B = 1<<CS00; //
OCR0A = 255; // 1+255 = 256 -> 16us @ 16 MHz
TCNT0 = 0; // reseting timer
TIMSK0 = 1<<OCF0A; // enable Interrupt
return;
}
debounce_state |= DEBOUNCE_FINISHED;
+
+ if(digitalRead(HEARTBEAT_PIN))
+ digitalWrite(HEARTBEAT_PIN, LOW);
+ else
+ digitalWrite(HEARTBEAT_PIN, HIGH);
}
debounce_cnt = DEBOUNCE_DELAY;
}
pinMode(HEARTBEAT_PIN, OUTPUT);
reset_heartbeat();
// timer 2: ~10 ms, timebase for heartbeat signal
+/*
TCCR2A = 1<<WGM21; // prescaler 1:1024, WGM = 2 (CTC)
TCCR2B = 1<<CS22 | 1<<CS21 | 1<<CS20; //
OCR2A = 155; // (1+155)*1024 = 159744 -> ~10 ms @ 16 MHz
TCNT2 = 0; // reseting timer
TIMSK2 = 1<<OCIE2A; // enable Interrupt
+*/
heartbeat_on();
}