ja-jp_commands:reference:itimerstopall
ItimerStopAll()
コマンド
| コマンド | 引数 | 戻り値 | 動作 |
|---|---|---|---|
ItimerStopAll() | なし | void | 実行中のコールバックタイマをすべて停止します。 |
使用例
既定のコールバックタイマ(Timer2)を使用します。コールバックではフラグだけを変更し、シリアル出力はloop()で行います。
void onTimer() {} void setup() { Serial.begin(115200); if (!ItimerSet(1000, onTimer)) return; // 先にコールバックと周期を設定します。 ItimerStart(); // 設定したコールバックタイマを開始します。 } void loop() { static bool stopped = false; if (!stopped && millis() >= 5000) { ItimerStopAll(); // 実行中のすべてのコールバックタイマを停止します。 stopped = true; Serial.println(F("timer stopped")); } }
注意事項
- コールバックは割り込み内で実行されます。フラグだけを変更し、
delay()・Serial・I2C・SPIを呼び出さないでください。 - タイマ番号を省略したコールバックタイマはTimer2を使います。同じTimer2を使う
tone()やPWM出力と併用しないでください。 - 別のハードウェアタイマを指定する場合も、そのタイマを使用するPWM・アナログ出力・高速カウンタ機能との重複を確認してください。
ItimerStopAll()はコールバック用ハードウェアタイマだけを停止し、Iton()・Itof()・Itmr()の状態は初期化しません。
同じカテゴリの内蔵コマンド
ja-jp_commands/reference/itimerstopall.txt · 最終更新: by 127.0.0.1
