====== ItimerStart() ====== ''ItimerStart()'' starts the configured callback timer. {{:en-us_commands:reference:itimerstart.svg?900|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:itimerset|ItimerSet() View detailed description]] * [[:en-us_commands:reference:itimerstop|ItimerStop() View detailed description]] * [[:en-us_commands:reference:itimerstopall|ItimerStopAll() View detailed description]] * [[:en-us_commands:reference:itimerstate|ItimerState() View detailed description]] [[:en-us_commands:builtin|← Built-in Command List]]