initialize()

説明

86Duino のウォッチドッグタイマーを初期化をし、動作モードを指定する。

プログラミング言語


TimerWDT.initialize()
TimerWDT.initialize(time)
TimerWDT.initialize(time, mode)

パラメーター

time:ウォッチドッグタイマーの時間サイクルの設定、単位は us。最大設定時間は 512 秒(512000000us);もし指定されなかったら、デフォルト値は 500ms(500000us)。

mode:ウォッチドッグタイマーの動作モードの設定。Boolean タイプ、デフォルト値は false

  • true:ウォッチドッグモード(すなわち指定された時間に至ると、86Duino をリブートさせる)。
  • false:カウンタ中断モード(すなわち指定された時間に至ると、ユーサー ISR を一回実行させる。デフォルトモード)。

フィードバック

なし

ウォッチドッグタイマーを中断モードを設定をし、100ms ごとにLEDを点滅させる:

#include <TimerWDT.h>
 
void setup() 
{
  pinMode(13, OUTPUT);
  TimerWDT.initialize(100000); // 100msの時間サイクルを設定
  TimerWDT.attachInterrupt( timerIsr ); // ユーサー ISR をマウントし、100ms ごとに一回実行させる
}
 
void loop() {}

// ユーサー ISR
void timerIsr()
{
    // LED を点滅させる
    digitalWrite( 13, digitalRead( 13 ) ^ 1 );
}

ウォッチドッグタイマーをウォッチドッグモードに設定して、30 秒ごとにシステムをリセットさせる:

#include <TimerWDT.h>
 
void setup() 
{
  TimerWDT.initialize(30000000, true); // 30s 時間サイクルを設定する
}
 
void loop() {
  // ユーサーアプリ ...
}

See also

attachInterrupt()()
detachInterrupt()
setPeriod()
reset()
isResetByWDT()
stop()


ライブラリリスト

The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.