Arduino でのウォッチドッグ クロック管理
エレクトロニクス分野、ひいてはコンピューティング分野において、ウォッチドッグは、物理デバイスまたはアプリケーションが正常に動作しなくなったときに再起動できるようにするリソースです。具体的には、マイクロコントローラーに関して言えば、オーバーフローしたときにリセットを生成するカウントダウン クロックです。
論理的には、デバイスはいつ正常に動作しなくなるかを知りません。動作原理は、カウントダウンが終了しないようにすること、つまりシステムがリセットされるのを防ぐことです。これを行うには、最初に再起動が行われる時間間隔が構成され、次にこの値が更新されます。これにより、デバイスが正しく動作しているため、現時点では再起動すべきではないことが示されます。
ウォッチドッグを管理するには Arduinoの 図書館を使うべきだ そして関数は XNUMX つだけです。 リセット時間の設定中に無効にするには、 パラメータ (時間) として指定された時間にウォッチドッグを構成およびアクティブ化します。 ウォッチドッグがカウントする間隔を更新します。
1
2
3
4
5
6
7
8
9
10
11
12
|
#include <avr/wdt.h> // Incluir la librería que contiene el watchdog (wdt.h)
void setup()
{
wdt_disable(); // Desactivar el watchdog mientras se configura
wdt_enable(WDTO_2S); // Configurar a dos segundos
}
void loop()
{
wdt_reset(); // Actualizar el watchdog para que no produzca un reinicio
}
|
で使用できる定数
カウントダウン時間を設定するには:- = 15ミリ秒
- = 30ミリ秒
- = 60ミリ秒
- = 120ミリ秒
- = 250ミリ秒
- = 500ミリ秒
- = 1秒
- = 2秒
- = 4秒
- = 8秒
ウォッチドッグを使用する前に、次のことを確認することが重要です。 ブートローダー ボード上のマイクロコントローラーには何が搭載されていますか? Arduinoの 使用されているものは、このリソースの使用を提供しています。のプレートに既知のエラーがあります。 Arduino メガ 2560 ウォッチドッグを使用するプログラムで正確にハングしたままになっていました。
とは何かについて詳しく知るには、 ブートローダー ブートローダー プレートに付属しているものとは異なるものを記録する方法については、 Atmel マイクロコントローラーのプログラミング方法に関する記事.
コメントを投稿