ja-jp_commands:reference:igetstate
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| ja-jp_commands:reference:igetstate [2026/09/08 00:53] – 바깥 편집 127.0.0.1 | ja-jp_commands:reference:igetstate [2026/09/14 20:30] (現在) – 外部編集 127.0.0.1 | ||
|---|---|---|---|
| 行 14: | 行 14: | ||
| ===== 使用例 ===== | ===== 使用例 ===== | ||
| + | |||
| + | MPINO-8A4R(T)-Sを選択した例です。入力'' | ||
| <code cpp> | <code cpp> | ||
| - | const uint8_t | + | const uint8_t |
| - | const uint8_t | + | const uint8_t |
| - | const uint8_t RUN_OUTPUT | + | |
| - | void setup() { | + | void setup() {} |
| - | Serial.begin(115200); | + | |
| - | } | + | |
| void loop() { | void loop() { | ||
| - | const bool start = IdigitalRead(START_INPUT, | + | const bool inputOn |
| - | const bool reset = IdigitalRead(RESET_INPUT, | + | Iton(0, |
| - | | + | const bool done = IgetState(0); // 同じ番号のタイマの出力状態を読みます。 |
| - | const bool stopDelay = Itof(1, ready, 500); // (Off Delay Timer)条件がOFFになってから一定時間後にfalseを返します。 | + | digitalWrite(OUTPUT_PIN, done ? HIGH : LOW); |
| - | const bool startPulse = Itpl(2, ready, 200); // (Pulse Timer)条件がONになった瞬間から設定時間だけtrueを返します。 | + | |
| - | const bool inspectionWindow = Itmon(3, startPulse, 3000); | + | |
| - | const bool batchDone = Itmr(4, ready, 10000, reset); | + | |
| - | const unsigned long elapsed = IgetTime(4); | + | |
| - | const bool savedDone | + | |
| - | + | ||
| - | digitalWrite(RUN_OUTPUT, stopDelay && !batchDone | + | |
| - | if (inspectionWindow && elapsed % 1000 < 20) { | + | |
| - | Serial.println(savedDone ? F(" | + | |
| - | } | + | |
| } | } | ||
| </ | </ | ||
| 行 44: | 行 33: | ||
| ===== 注意事項 ===== | ===== 注意事項 ===== | ||
| - | * タイマ割り込みコールバックはISR内で実行されます。コールバックではフラグだけを変更し、実際の制御処理を'' | + | * 経過時間と入力OFFを処理するため、タイマコマンドを'' |
| - | * コールバック内で'' | + | * 異なるタイマ動作で同じ'' |
| - | * Modbus RTUは通常'' | + | * 先に同じ番号のタイマを呼び出します。まだ作成されていない番号はfalseを返します。 |
| - | * Timer2を使う'' | + | |
| - | * Timer1、Timer3、Timer4、Timer5を明示的に使用すると、同じタイマを使うPWM、アナログ出力、高速カウンタ機能と競合する場合があります。 | + | |
| - | * 1つのハードウェアタイマには'' | + | |
| - | * スケッチで同じタイマのISRを直接定義すると、'' | + | |
| - | * '' | + | |
| ===== 同じカテゴリの内蔵コマンド ===== | ===== 同じカテゴリの内蔵コマンド ===== | ||
ja-jp_commands/reference/igetstate.1788796399.txt.gz · 最終更新: by 127.0.0.1
