/      English

mwf_periph_wwdt - WWDT

mwf_periph_wwdt - WWDT
ウォッチドッグタイマーを利用するため手続きをまとめたペリフェラルオブジェクトです。

mwf_periph_wwdt - WWDT

ウォッチドッグタイマーを利用するため手続きをまとめたペリフェラルオブジェクトthe_wwdtを実装しています。

TWENETでは暗黙に使用されますので、ユーザプログラムでの初期化は不要です。

コード例

void setup_func() {
	mwf::gobal_init_wwdt_manager();
    the_wwdt.init(); // timeout in 4000ms approx.
}

// in some function called periodically (e.g. invoked by SysTick Timer.)
void do_every_tick() {
    the_wwdt.refresh();
}

class mwf::periph::wwdt

global_init_wwdt_manager(), global_deinit_wwdt_manager()

static void global_init_wwdt_manager();
static void global_deinit_wwdt_manager();

the_wwdtクラスオブジェクトの生成と破棄を行います。

init(), deinit()

void init(uint32_t u32ms = 0);
void deinit();

ウォッチドッグタイマーを初期化・停止(※1)します。

  • 初期化時のパラメータu32msはタイムアウトをミリ秒(ms)で指定します。0または省略したときは4000msとなります。
  • ※1 ハードウェアの制約上、一度実行したウォッチドッグタイマーは停止しません。deinit()はライブラリ手続きとして用意しています。(タイマーの再始動時などに deinit()を実行してから init()を再度呼び出す)

set_timeout()

void set_timeout(uint32_t u32ms);

ウォッチドッグタイマーのタイムアウトまでの時間を変更します。u32msにはタイムアウト時間をミリ秒(ms)で指定します。

  • u32msの妥当性の検証はしません。init()では0を規定値としていましたが、本関数で0を与えた場合の振る舞いは未定です。

refresh()

void refresh();

ウォッチドッグタイマーのタイムアウトまでに必ず呼び出すリフレッシュ関数です。

class mwf::periph::wwdt (sys_ev_handler)

on_sleep()

WWDTの停止処理を行います。

on_wakeup()

WWDTの始動処理を行います。

  • スリープ前に稼働状態の場合は、WWDTを再度稼働させます。