====== IgetTime() ====== ''IgetTime()''は指定したタイマの現在の経過時間を返します。 {{:ja-jp_commands:reference:igettime.svg?900|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:igetstate|IgetState() 詳細説明を見る]] [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]]