嵌入式学习笔记 - STM32独立看门狗IWDG与窗口看门狗WWDG的区别

下图说明了独立看门狗IWDG 与窗口看门狗WWDG的区别:

从中可以看出:

一 复位

独立看门狗在计数器技术导0时复位,

窗口看门狗在计数器计数到0X40时复位。

二 喂狗

独立看门狗可以在计数器从预装载值降低到0过过程中的任意时间喂狗,

窗口看门狗必须在计数器计数到窗口值WR与0X40之间时喂狗,高于这一值喂狗或者低于这一值都会导致复位。窗口看门狗的这一特性有如下特点/作用:

①如果喂狗方式是通过读看门狗计数器WWDG->CR& 0X7F的方式时,例如

if((WWDG->CR & 0X7F) <=(WWDG->CFR & 0X7F))

// if((WWDG->CR & 0X7F) ==(WWDG->CFR & 0X7F)) (如果设置成==,那么监控程序运行时间最好远小于窗口看门狗计数器自减一次的时间,否则容易错过复位时机)

{

HAL_WWDG_Refresh(&WWDG_Handle);

}

这个情况下相比独立看门狗,既能监控程序超时运行,又能够减少喂狗次数

②如果不是通过读看门狗计数器的方式而是直接喂狗

HAL_WWDG_Refresh(&WWDG_Handle);

那么如果监控程序运行时间过长或者过短都会复位,可以监控程序的运行时间。

相关推荐
竹照煜_ysn34 分钟前
STM32——软硬件I2C
stm32·嵌入式硬件·mongodb
rannn_1112 小时前
【MySQL学习|黑马笔记|Day7】触发器和锁(全局锁、表级锁、行级锁、)
笔记·后端·学习·mysql
Wallace Zhang2 小时前
STM32 - Embedded IDE - GCC - 显著减少固件的体积
stm32·单片机·嵌入式硬件
喜欢吃燃面2 小时前
C++算法竞赛:位运算
开发语言·c++·学习·算法
传奇开心果编程2 小时前
【传奇开心果系列】Flet框架实现的家庭记账本示例自定义模板
python·学习·ui·前端框架·自动化
草莓熊Lotso2 小时前
《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
开发语言·c++·经验分享·笔记·其他
_Kayo_9 小时前
node.js 学习笔记3 HTTP
笔记·学习
CCCC131016312 小时前
嵌入式学习(day 28)线程
jvm·学习
星星火柴93612 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头12 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习