目次

ItimerSet()

ItimerSet()は周期とコールバック関数、または使用するハードウェアタイマを設定します。

ItimerSet コマンドの動作フロー

bool ItimerSet(unsigned long intervalMs, void (*callback)())
bool ItimerSet(uint8_t timerNumber, unsigned long intervalMs, void (*callback)())

コマンド

コマンド 引数 戻り値 動作
ItimerSet(intervalMs, callback) unsigned long intervalMs — コールバック実行周期。単位はms。0は使用不可
void (*callback)() — 周期ごとに実行するvoid 関数名()形式の関数
bool 周期とコールバック関数、または使用するハードウェアタイマを設定します。

使用例

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

volatile bool tick = false;
 
void onTimer() {
  tick = true;
}
 
void setup() {
  Serial.begin(115200);
  if (!ItimerSet(1000, onTimer)) return;  // 既定のハードウェアタイマに1秒周期のコールバックを設定します。
  ItimerStart();  // 設定したコールバックタイマを開始します。
}
 
void loop() {
  if (tick) {
    noInterrupts();
    tick = false;
    interrupts();
    Serial.println(F("tick"));
  }
}

注意事項

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

← 内蔵コマンド一覧