User Tools

Site Tools


en-us_commands:reference:itimerstart

This is an old revision of the document!


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

volatile bool tick = false;
 
void onTimer() {
  tick = true;
}
 
void setup() {
  pinMode(13, OUTPUT);
  ItimerSet(1000, onTimer);  // Set the interval and callback function, or select the hardware timer to use.
  ItimerStart();  // Start the configured callback timer.
}
 
void loop() {
  if (tick) {
    tick = false;
    digitalWrite(13, !digitalRead(13));
  }
}

Precautions

  • Timer interrupt callbacks run inside an ISR. For safety, change only flags in the callback and perform actual control processing in loop().
  • Do not use slow or interrupt-dependent code such as delay(), Serial, I2C or SPI in callbacks.
  • Normally, call ImodbusRTU() repeatedly in loop(). Call it from a timer interrupt with a sufficient interval only when long delay() calls or debug output slow down loop().
  • Do not use the default ItimerSet() together with tone() using Timer2 or analogWrite() on Timer2 PWM pins.
  • Explicitly using Timer1, Timer3, Timer4 or Timer5 may conflict with PWM, analog output or high-speed counter functions using that timer.
  • Configure only one Itimer callback per hardware timer.
  • Defining an ISR for the same timer directly in the sketch may conflict with Itimer operation.
  • ItimerStopAll() stops only hardware interrupt timers. It does not reset PLC-style timer states such as Iton, Itof or Itmr.

Built-in Commands in the Same Category

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki