Timer1
, but that could have been Timer2
or Timer3
just as easily.The overall behavior of a timer is specified by two parameters: How fast it 'ticks', in terms of microseconds per tick, and how many ticks before it 'laps' or returns to zero.
By default, a timer ticks once every 1,000 microseconds -- which is a millisecond, one thousandth of a second, so by default a timer ticks 1,000 times in one second. Also by default, a timer laps after 1,000 ticks. So, 1/1,000 second per tick times 1,000 ticks per lap produces one second per lap, which is just what we want in this case.
// Hardware Timer sketch 1: Blink red every other second, with high // accuracy. // We use ledToggle in a timer handler function. Note that hardware // timer handler functions are called with interrupts disabled! We // must be careful what we do, and be quick about it! void myTimerHandler() { ledToggle(BODY_RGB_RED_PIN); } void setup() { Timer1.begin(); // The default parameters to begin() are fine Timer1.setLapHandler(myTimerHandler); // Register a per-lap handler Timer1.start(); // And start the timer } void loop() { /* Nothing to do */ }