|
ウォッチドッグタイマーは、ウォッチドック、WD、WDT(WatchDog Timer)とも呼ばれ、マイコン処理のフリーズ、暴走を監視する機能です。
タイマー付き時限爆弾のようなもので、タイムアップとなる前にリセットボタンを押さないと爆発(リセット)してしまいます。
図 ウォッチドッグタイマーの概念
例えば、良くないコーディング例ですが、
while(xyz != 0){};
というxyzが0になるまで待つ処理があったとします。
通常であればすぐに0になるため、ここでの待ち時間はほとんどありません。
しかし何かしらの理由で0にならない場合、無限ループになってしまい、ここで処理が止まってしまいます。
ウォッチドックタイマーを有効にしていれば、そのときリセットが掛かり、最初から処理が行われるようになります。
もちろん0にならない場合が続けば、
リセット → 最初から処理が行われる → リセット → 最初から処理が行われる → ・・・
と繰り返します。
|