User Tools

Site Tools


en-us_commands:reference:itimerset

This is an old revision of the document!


ItimerSet()

ItimerSet() sets the interval and callback function, or the hardware timer to use.

ItimerSet command operation flow

bool ItimerSet(unsigned long intervalMs, void (*callback)())
bool ItimerSet(uint8_t timerNumber, unsigned long intervalMs, void (*callback)())

Commands

Command Arguments Return Value Operation
ItimerSet(intervalMs, callback) unsigned long intervalMs — Callback interval in ms. 0 is not allowed
void (*callback)() — Function in void functionName() form, called at each interval
bool Sets the interval and callback function, or the hardware timer to use.

Example

volatile bool fastTick = false;
 
void onFastTimer() {
  fastTick = true;
}
 
void setup() {
  ItimerSet(3, 100, onFastTimer);
  ItimerStart(3);
}
 
void loop() {
  if (fastTick) {
    fastTick = false;
  }
}

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 Command List

en-us_commands/reference/itimerset.1788785568.txt.gz · Last modified: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki