7.24. WDT

Overview

提供看门狗应用示例、配置介绍和常见问题。

7.24.1. 应用实例

示例演示:

  • 更新看门狗清狗时间

  • 关闭看门狗

  • 禁止SDK内部清除看门狗操作, 用户自己外部清除看门狗

example: 进入 apps/demo/demo_DevKitBoard/include/demo_config.h ,开启宏 USE_WDT_TEST_DEMO

7.24.2. 常见问题

  • 看门狗清狗时间通过 wdt_init 函数去设置,具体的时间参数设置可参考下面的 API参考

  • 看门狗关闭通过 wdt_close() 去设置。

  • 如何禁止 SDK 内部清除看门狗操作, 用户自己外部清除看门狗?

    答: 在本示例程序中重写覆盖库内弱函数 wdt_clear,选择不再使用库内函数清看门狗, 并且开启本示例中的 wdt_clear_user 用户自己外部清狗线程即可。

  • 如何让看门狗溢出直接复位系统,不进入异常函数?

    答: 调用wdt_reset_enable让看门狗溢出不经过异常函数直接复位, 并且需要打开宏EXPCPTION_IN_SRAM,防止flash挂了,进入异常函数失败复位不了

7.24.3. API参考

Functions

void wdt_init(u8 time)

wdt_init:看门狗初始化

Parameters

time – 看门狗清狗时间

数值

时间

WDT_1MS

0x00

1ms

WDT_2MS

0x01

2ms

WDT_4MS

0x02

4ms

WDT_8MS

0x03

8ms

WDT_16MS

0x04

16ms

WDT_32MS

0x05

32ms

WDT_64MS

0x06

64ms

WDT_128MS

0x07

128ms

WDT_256MS

0x08

256ms

WDT_512MS

0x09

512ms

WDT_1S

0x0A

1s

WDT_2S

0x0B

2s

WDT_4S

0x0C

4s

WDT_8S

0x0D

8s

WDT_16S

0x0E

16s

WDT_32S

0x0F

32s

void wdt_close(void)

wdt_close:关闭看门狗

void wdt_clear(void)

wdt_clear:清除看门狗

void wdt_enable(void)

wdt_enable:使能看门狗

void wdt_disable(void)

wdt_disable:不使能看门狗

void wdt_reset_enable(void)

wdt_reset_enable:看门狗溢出直接系统复位