User Tools

Site Tools


en-us_commands:reference:itimerstart

ItimerStart()

ItimerStart() starts the configured callback timer.

ItimerStart command operation flow

bool ItimerStart()
bool ItimerStart(uint8_t timerNumber)

Commands

Command Arguments Return Value Operation
ItimerStart() None bool Starts the configured callback timer.

Example

This uses the default callback timer (Timer2). The callback changes only a flag; serial output runs in loop().

volatile bool tick = false;
 
void onTimer() {
  tick = true;
}
 
void setup() {
  Serial.begin(115200);
  if (!ItimerSet(1000, onTimer)) return;  // Configure the callback and interval first.
  if (!ItimerStart()) return;  // Start the configured default callback timer.
}
 
void loop() {
  if (tick) {
    noInterrupts();
    tick = false;
    interrupts();
    Serial.println(F("tick"));
  }
}

Precautions

  • The callback runs in an interrupt. Change only a flag there; do not call delay(), Serial, I2C or SPI in it.
  • The callback timer without a timer number uses Timer2. Do not use it together with tone() or PWM output that uses Timer2.
  • When specifying another hardware timer, check for conflicts with PWM, analog output and high-speed counter functions using it.
  • Starting before ItimerSet() has configured the timer returns false.

Built-in Commands in the Same Category

en-us_commands/reference/itimerstart.txt · Last modified: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki