一、简介
STM32 有两个看门狗,独立看门狗
和窗口看门狗
,独立看门狗又称宠物狗,窗口看门狗又称警犬。可用来检测和解决由软件错误引起的故障。两个看门狗的原理都是当计数器达到给定的超时值时,产生系统复位,对于窗口型看门狗同时会产生一个中断。
独立看门狗 (IWDG) 由专用的内部低速时钟 (LSI) 驱动,即使主时钟发生故障它也仍然有效。
窗口看门狗由从APB1 时钟分频后得到的时钟驱动。
区别:
二、初始化配置
1.配置RT-Thread Settings—》组件—》设备驱动程序—》使用WDT设备驱动程序。
2.开启stm32f1xx_hal_conf.h中的宏定义
三、实际使用
1.使用RT接口函数初始化硬件看门狗
#define WDT_DEVICE_NAME "wdt" /* 看门狗设备名称 */
static rt_device_t wdg_dev; /* 看门狗设备句柄 */
static void idle_hook(void)
{
/* 在空闲线程的回调函数里喂狗 */
rt_device_control(wdg_dev, RT_DEVICE_CTRL_WDT_KEEPALIVE, NULL);
rt_kprintf