ユーザ用ツール

サイト用ツール


ja-jp_commands:reference:wdt_disable

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
ja-jp_commands:reference:wdt_disable [2026/09/07 23:35] – 바깥 편집 127.0.0.1ja-jp_commands:reference:wdt_disable [2026/09/14 20:30] (現在) – 外部編集 127.0.0.1
行 14: 行 14:
  
 ===== 使用例 ===== ===== 使用例 =====
 +
 +MPINO-16A8R8TのD22デジタル入力を使用します。D22がHIGHになるとWatchdogを一度停止し、その後は再起動しません。
  
 <code cpp> <code cpp>
 +bool watchdogActive = true;
 +
 void setup() { void setup() {
-#if defined(__AVR_ATmega2560__) +  WDT_ENABLE(WDT_2S);  // 2秒のWatchdogを開始します。
-  WDT_ENABLE(WDT_2S);  // Watchdog制限時間を設定し、動作を開始します。 +
-#elif defined(__AVR_ATmega128__) +
-  WDT_ENABLE(WDT_1800MS);  // Watchdogの制限時間を設定し、動作を開始します。 +
-#endif+
 } }
  
 void loop() { void loop() {
-  const bool maintenanceMode = IdigitalRead(0, 5);  // 入力を連続して複数回読み、すべて一致した場合のみ状態を更新します。HIGHとLOWが混在する場合は前の安定状態を保持します。 +  if (watchdogActive && digitalRead(22== HIGH) { 
-  if (maintenanceMode) { +    WDT_DISABLE();  // D22がHIGHになったらWatchdogを停止します。 
-    WDT_DISABLE();  // Watchdogの動作を停止します。 +    watchdogActive = false;
-    return;+
   }   }
-  WDT();  // 制限時間が切れる前にWatchdog更新します。+  if (watchdogActive) WDT();  // Watchdogの動作中だけ更新します。 
 +  delay(100);
 } }
 </code> </code>
行 39: 行 39:
   * 正常処理の最長時間より短く設定しないでください。   * 正常処理の最長時間より短く設定しないでください。
   * ''WDT()''を無条件に実行される位置に置いてプログラム異常を隠さないでください。   * ''WDT()''を無条件に実行される位置に置いてプログラム異常を隠さないでください。
 +
 +===== 同じカテゴリの内蔵コマンド =====
 +
 +  * [[:ja-jp_commands:reference:wdt_enable|WDT_ENABLE() 詳細説明を見る]]
 +  * [[:ja-jp_commands:reference:wdt|WDT() 詳細説明を見る]]
  
 [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]] [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]]
  
ja-jp_commands/reference/wdt_disable.1788791739.txt.gz · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki