====== ItimerStart() ====== ''ItimerStart()''は設定したコールバックタイマを開始します。 {{:ja-jp_commands:reference:itimerstart.svg?900|ItimerStart コマンドの動作フロー}} ''bool ItimerStart()''\\ ''bool ItimerStart(uint8_t timerNumber)'' ===== コマンド ===== ^ コマンド ^ 引数 ^ 戻り値 ^ 動作 ^ | ''ItimerStart()'' | なし | ''bool'' | 設定したコールバックタイマを開始します。 | ===== 使用例 ===== 既定のコールバックタイマ(Timer2)を使用します。コールバックではフラグだけを変更し、シリアル出力は''loop()''で行います。 volatile bool tick = false; void onTimer() { tick = true; } void setup() { Serial.begin(115200); if (!ItimerSet(1000, onTimer)) return; // 先にコールバックと周期を設定します。 if (!ItimerStart()) return; // 設定済みの既定コールバックタイマを開始します。 } void loop() { if (tick) { noInterrupts(); tick = false; interrupts(); Serial.println(F("tick")); } } ===== 注意事項 ===== * コールバックは割り込み内で実行されます。フラグだけを変更し、''delay()''・''Serial''・I2C・SPIを呼び出さないでください。 * タイマ番号を省略したコールバックタイマはTimer2を使います。同じTimer2を使う''tone()''やPWM出力と併用しないでください。 * 別のハードウェアタイマを指定する場合も、そのタイマを使用するPWM・アナログ出力・高速カウンタ機能との重複を確認してください。 * ''ItimerSet()''で先に設定していない場合、開始できずfalseを返します。 ===== 同じカテゴリの内蔵コマンド ===== * [[:ja-jp_commands:reference:itimerset|ItimerSet() 詳細説明を見る]] * [[:ja-jp_commands:reference:itimerstop|ItimerStop() 詳細説明を見る]] * [[:ja-jp_commands:reference:itimerstopall|ItimerStopAll() 詳細説明を見る]] * [[:ja-jp_commands:reference:itimerstate|ItimerState() 詳細説明を見る]] [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]]