ユーザ用ツール

サイト用ツール


ja-jp_commands:reference:itimerstate

ItimerState()

ItimerState()は既定または指定したコールバックタイマの実行状態を返します。

ItimerState コマンドの動作フロー

bool ItimerState()
bool ItimerState(uint8_t timerNumber)

コマンド

コマンド 引数 戻り値 動作
ItimerState() なし bool 既定または指定したコールバックタイマの実行状態を返します。

使用例

既定のコールバックタイマ(Timer2)を使用します。コールバックではフラグだけを変更し、シリアル出力はloop()で行います。

void onTimer() {}
 
void setup() {
  Serial.begin(115200);
  if (!ItimerSet(1000, onTimer)) return;  // 先にコールバックと周期を設定します。
  ItimerStart();  // 設定したコールバックタイマを開始します。
}
 
void loop() {
  static unsigned long lastPrint = 0;
  static bool stopped = false;
  if (!stopped && millis() >= 3000) {
    ItimerStop();  // 5秒後に既定のコールバックタイマを停止します。
    stopped = true;
  }
  if (millis() - lastPrint >= 1000) {
    lastPrint = millis();
    const bool running = ItimerState();  // 既定のコールバックタイマが実行中か確認します。
    Serial.println(running ? F("running") : F("stopped"));
  }
}

注意事項

  • コールバックは割り込み内で実行されます。フラグだけを変更し、delay()Serial・I2C・SPIを呼び出さないでください。
  • タイマ番号を省略したコールバックタイマはTimer2を使います。同じTimer2を使うtone()やPWM出力と併用しないでください。
  • 別のハードウェアタイマを指定する場合も、そのタイマを使用するPWM・アナログ出力・高速カウンタ機能との重複を確認してください。

同じカテゴリの内蔵コマンド

ja-jp_commands/reference/itimerstate.txt · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki