ユーザ用ツール

サイト用ツール


ja-jp_commands:reference:igettime

IgetTime()

IgetTime()は指定したタイマの現在の経過時間を返します。

IgetTime コマンドの動作フロー

unsigned long IgetTime(uint8_t timer_id)

コマンド

コマンド 引数 戻り値 動作
IgetTime(timer_id) uint8_t timer_id — タイマ番号。0 ~ 255の範囲で使用可能 unsigned long 指定したタイマの現在の経過時間を返します。

使用例

MPINO-8A4R(T)-Sを選択した例です。入力P0と出力P32を使用し、loop()を止めずに毎回コマンドを呼び出します。 Iton(0, …)が更新した経過時間をIgetTime(0)で読み、0.5秒ごとに表示します。入力がOFFなら値は0です。

const uint8_t INPUT_PIN = 0;
unsigned long lastPrint = 0;
 
void setup() {
  Serial.begin(115200);
}
 
void loop() {
  const bool inputOn = digitalRead(INPUT_PIN) == HIGH;
  Iton(0, inputOn, 3000);  // 状態を読む前に毎回loopでタイマを更新します。
  const unsigned long elapsedMs = IgetTime(0);  // 同じ番号のタイマの経過時間をms単位で読みます。
  if (millis() - lastPrint >= 500) {
    lastPrint = millis();
    Serial.println(elapsedMs);
  }
}

注意事項

  • 経過時間と入力OFFを処理するため、タイマコマンドをloop()で繰り返し呼び出します。
  • 異なるタイマ動作で同じtimer_idを共有すると状態が混ざるため、別の番号を使用します。
  • 先に同じ番号のタイマを呼び出します。まだ作成されていない番号は0を返します。

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

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki