ch32v003-getting-started-ja

MounRiver Studioで使う CH32V003 はじめの一歩

View on GitHub

目次に戻る

ウィンドウウォッチドッグ (WWDG)

ドッグフィード可能な範囲

ウィンドウウォッチドッグは、カウンタ値が定められた範囲(ウィンドウ)にある時にドッグフィード(カウンタのリフレッシュ)を行わなければならない。早すぎても遅すぎてもウォッチドッグリセットが発生する。

W[6:0] > カウンタ値 T[6:0] > 0x3f (減算カウンタ)

の範囲(ウィンドウ)でドッグフィードを行わなければならない。

  1. ドッグフィードが行われず、カウンタ値が 0x40から 0x3fに変化した時点でウォッチドッグリセットが発生する。
  2. ウィンドウ範囲外の早すぎるドッグフィードでウォッチドッグリセットが発生する。

レジスタ

CH32V00x.hでは、WWDGレジスタ群は構造体として定義されていて、各レジスタには以下のような C言語の識別子が割り当てられている。

WWDG->CTLR
WWDG->CFGR
WWDG->STATR
CTLR コントロールレジスタ 初期値 0x007f
[15: 8]        RO  Reserved
[    7] WDGA   RW1 ウィンドウウォッチドッグリセット有効化ビット
[ 6: 0] T[6:0] RW  減算カウンタ 0x40から 0x3fに変化した時点でリセット
一度ウィンドウウォッチドッグリセットを有効化すると、ソフトウェアで無効化することはできない。

CFGR コンフィギュレーションレジスタ 初期値 0x007f
[15:10]        RO  Reserved
[    9] EWI    RW1 EWI有効化ビット
[ 8: 7] WDGTB  RW  WWDGクロック分周比
                   00:HCLK/4096    10:HCLK/4096/4
                   01:HCLK/4096/2  11:HCLK/4096/8
[ 6: 0] W[6:0] RW  ウィンドウ値

STATR ステータスレジスタ 初期値 0x0000
[15: 1]        RO  Reserved
[    0] EWIF   RW0 EWI割り込みフラグ

この文章のライセンス

CC0 1.0 Universal

2026-02-19作成 2026-02-19更新 佐藤恭一 kyoutan.jpn.org

目次に戻る