User Tools

Site Tools


en-us_commands:reference:itimerstate

ItimerState()

ItimerState() returns the running state of the default or specified callback timer.

ItimerState command operation flow

bool ItimerState()
bool ItimerState(uint8_t timerNumber)

Commands

Command Arguments Return Value Operation
ItimerState() None bool Returns the running state of the default or specified callback timer.

Example

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

void onTimer() {}
 
void setup() {
  Serial.begin(115200);
  if (!ItimerSet(1000, onTimer)) return;  // Configure the callback and interval first.
  ItimerStart();  // Start the configured callback timer.
}
 
void loop() {
  static unsigned long lastPrint = 0;
  static bool stopped = false;
  if (!stopped && millis() >= 3000) {
    ItimerStop();  // Stop the default callback timer after 5 s.
    stopped = true;
  }
  if (millis() - lastPrint >= 1000) {
    lastPrint = millis();
    const bool running = ItimerState();  // Check whether the default callback timer is running.
    Serial.println(running ? F("running") : F("stopped"));
  }
}

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.

Built-in Commands in the Same Category

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki