STM32单片机两种看门狗的区别和配置方法


原标题:STM32单片机两种看门狗的区别和配置方法
STM32单片机具有两种看门狗功能:独立看门狗(Independent Watchdog,IWDG)和窗口看门狗(Window Watchdog,WWDG)。它们各自具有不同的特点和配置方法。
一、独立看门狗(IWDG)
特点和原理
独立看门狗由一个专用的低速时钟(LSI)驱动,这个时钟在主时钟故障时仍然保持工作。
它具有一个12位的递减计数器,当计数器的值从某个预设值一直减到0时,系统会产生一个复位信号。
独立看门狗适用于对时间精度要求较低,但需要看门狗在主程序之外完全独立工作的场合。
配置方法
使能预分频寄存器(IWDG_PR)和重装载寄存器(IWDG_RLR)可写。
设置预分频器值,以控制计数器的时钟频率。
设置重装载寄存器值,该值决定了独立看门狗的溢出时间。
启用独立看门狗。
二、窗口看门狗(WWDG)
特点和原理
窗口看门狗的喂狗时间有一个上下限范围,可以通过设置相关寄存器来配置。
它具有一个7位的递减计数器,当计数器的值减到固定的下限值(0x40)时,如果还没有喂狗,就会产生复位。同时,如果计数器的值在上限值之外时喂狗,也会产生复位。
窗口看门狗的时钟来自于PCLK1,其频率经过配置后可以确定计数器的定时时间范围。
配置方法
使能看门狗时钟。
设置预分频器值,以控制计数器的时钟频率。
设置窗口值,即上限值。
启用窗口看门狗,并设置计数器的初始值。
配置中断(如果需要),以便在计数器达到下限值时产生中断,提醒喂狗。
三、独立看门狗与窗口看门狗的区别
时钟来源:独立看门狗由专用的低速时钟(LSI)驱动,而窗口看门狗的时钟来自于PCLK1。
计数器位数:独立看门狗具有12位的递减计数器,而窗口看门狗具有7位的递减计数器。
喂狗时间:独立看门狗只有下限值,只要在计数器减到0之前重新装载计数器的值就不会产生复位。而窗口看门狗的喂狗时间有一个上下限范围,过早或过晚喂狗都会产生复位。
中断功能:独立看门狗没有中断功能,而窗口看门狗可以配置中断,在计数器达到下限值时产生中断提醒喂狗。
综上所述,STM32单片机的两种看门狗功能各自具有不同的特点和配置方法。在实际应用中,需要根据具体的需求选择合适的看门狗类型,并进行相应的配置。
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。