ja-jp_commands:reference:igettime
IgetTime()
コマンド
| コマンド | 引数 | 戻り値 | 動作 |
|---|---|---|---|
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
