WatchDog Timer (WDT)
page225
看门狗守时器的守时规模为TPCLK x 256 x 4到TPCLK x 232 x 4)。
看门狗守时器的设置过程如下:
?在WDTC寄存器设置看门狗守时器的重装值
?在WDMOD寄存器设置形式
?先后写入0xaa和0x55到WDFEED寄存器以发动看门狗守时器
?为避免看门狗发生复位/中止,有必要在看门狗计数器下溢前进行喂狗
当看门狗守时器下溢,程序计数器将如同发生了外部复位信号相同从0x00000000地址从头发动。看门狗守时输出标志(WDTOF)可以检测并是否看门狗导致了复位。WDTOF标志位有必要软件铲除。
看门狗相关寄存器
寄存器 | 功用 | 拜访 | 复位值 | 地址 |
WDMOD | 看门狗形式寄存器,这个寄存器包含了看门狗守时器的基本形式和状况 | R/W | 0 | 0xE000 0000 |
WDTC | 看门狗守时器常量寄存器,寄存守时器计数值 | R/W | 0XFF | 0xE000 0004 |
WDFEED | Watchdog Feed sequence register,写入oxaa和0x55从头加载计数值 | WO | NA | 0xE000 0008 |
WDTV | 看门狗守时器值寄存器,该寄存器读出守时计数当时值 | RO | 0XFF | 0xE000 000C |
Watchdog Mode register (WDMOD – 0xE000 0000)
看门狗操作形式挑选
WDEN | WDRESET | 操作形式 |
0 | X (0 or 1) | 不发动看门狗守时器 |
1 | 0 | 看门狗中止形式。运转看门狗中止,但WDRESET不使能。当看门狗守时器下溢,WDINT标志位将置位而且发生看门狗中止请求 |
1 | 1 | 看门狗复位形式。运转看门狗中止且WDRESET使能。看门狗守时器下溢将复位控制器, |
一旦WDEN或WDRESET位设置后将不可以软件铲除,只要在外部复位或许看门狗守时器下溢时才会被铲除。
当看门狗守时器溢出时,看门狗守时器溢出标志位WDTOF置位。该标志位由软件铲除。
当看门狗守时器溢出时,看门狗终端标志位WDINT置位。任何复位发生时将铲除该标志位。
看门狗形式寄存器
位 | 信号 | 功用 | 复位值 |
0 | WDEN | 看门狗中止使能位(只可设置) | 0 |
1 | WDRESET | 看门狗复位使能位(只可设置) | 0 |
2 | WDTOF | 看门狗守时器溢出标志位 | 0(仅在外部复位后) |
3 | WDINT | 看门狗中端标志位 | 0 |
7:4 | – | 保存 | NA |
Watchdog Timer Constant register (WDTC – 0xE000 0004)
设置守时计数值小于0x000000ff时,主动默以为0x000000ff(此即最小守时计数值)。
看门狗守时器常量寄存器
位 | 信号 | 功用 | 复位值 |
31:0 | Count | 守时距离周期计数值 | 0x000000ff |
Watchdog Feed register (WDFEED – 0xE000 0008)
接连次序写入0xaa和0x55到该寄存器将从头加载WDTC值到看门狗守时器中。假如WDMOD寄存器中使能了看门狗,此刻也将发动看门狗守时器。在WDMOD寄存器设置了WDEN位还不足以使能看门狗(有必要接连次序写入0xaa和0x55到WEFEED寄存器以锁存)。在看门狗发生中止/复位之前有必要接连次序写入0xaa和0x55进行喂狗
Watchdog Timer Value register (WDTV – 0xE000 000C)
WDTV寄存器用于读看门狗守时器的当时值。
位 | 信号 | 功用 | 复位值 |
31:0 | Count | 守时距离周期计数值 | 0x000000ff |