ja-jp_commands:reference:itimerset
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| ja-jp_commands:reference:itimerset [2026/09/07 21:53] – 만듦 - 바깥 편집 127.0.0.1 | ja-jp_commands:reference:itimerset [2026/09/12 22:55] (現在) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 行 15: | 行 15: | ||
| ===== 使用例 ===== | ===== 使用例 ===== | ||
| + | |||
| + | 既定のコールバックタイマ(Timer2)を使用します。コールバックではフラグだけを変更し、シリアル出力は'' | ||
| <code cpp> | <code cpp> | ||
| - | volatile bool fastTick | + | volatile bool tick = false; |
| - | void onFastTimer() { | + | void onTimer() { |
| - | | + | |
| } | } | ||
| void setup() { | void setup() { | ||
| - | ItimerSet(3, 100, onFastTimer); | + | |
| - | ItimerStart(3); | + | if (!ItimerSet(1000, onTimer)) return; // 既定のハードウェアタイマに1秒周期のコールバックを設定します。 |
| + | ItimerStart(); | ||
| } | } | ||
| void loop() { | void loop() { | ||
| - | if (fastTick) { | + | if (tick) { |
| - | | + | |
| + | tick = false; | ||
| + | interrupts(); | ||
| + | Serial.println(F(" | ||
| } | } | ||
| } | } | ||
| 行 37: | 行 43: | ||
| ===== 注意事項 ===== | ===== 注意事項 ===== | ||
| - | * タイマ割り込みコールバックはISR内で実行されます。コールバックではフラグだけを変更し、実際の制御処理を'' | + | * コールバックは割り込み内で実行されます。フラグだけを変更し、'' |
| - | * コールバック内で'' | + | * タイマ番号を省略したコールバックタイマはTimer2を使います。同じTimer2を使う'' |
| - | * Modbus RTUは通常'' | + | * 別のハードウェアタイマを指定する場合も、そのタイマを使用するPWM・アナログ出力・高速カウンタ機能との重複を確認してください。 |
| - | * Timer2を使う'' | + | * 周期が0またはコールバックがない場合は設定に失敗し、falseを返します。 |
| - | * Timer1、Timer3、Timer4、Timer5を明示的に使用すると、同じタイマを使うPWM、アナログ出力、高速カウンタ機能と競合する場合があります。 | + | |
| - | * 1つのハードウェアタイマには'' | + | ===== 同じカテゴリの内蔵コマンド ===== |
| - | * スケッチで同じタイマのISRを直接定義すると、'' | + | |
| - | * '' | + | * [[: |
| + | * [[: | ||
| + | * [[: | ||
| + | * [[: | ||
| [[: | [[: | ||
ja-jp_commands/reference/itimerset.1788785591.txt.gz · 最終更新: by 127.0.0.1
