stm32之看门狗

本文深入探讨了单片机中防止程序跑飞的两种关键机制:窗口看门狗(WWDG)和独立看门狗(IWDG)。详细解释了它们的工作原理、时钟源及计数周期,帮助理解如何确保单片机稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

当单片机受到外界的干扰,程序会跑飞,那么如何证明程序的状态是正常的呢?
法1:在中断中加入LED闪烁,当看到灯以设定的频率闪烁则可以证明单片机是正常运行的。
法2:窗口看门狗。

窗口看门狗(WWDG)的机制:

WWDG本质上是一个7位的计数器,因此看门狗定时器的数值变化在0-0x7F之间。而窗口则是设置在这个范围内的上限(可设)和下限(固定值0x40)。

  1. 时钟源:PLCK1,也就是系统时钟总线。
  2. 当WWDG的计数器的值在窗口内被改变,单片机不产生复位。
  3. 当WWDG的计数器的值在窗口之外被改变,单片机产生复位。
  4. 计数周期
    在这里插入图片描述

独立看门狗(IWDG)的机制:

IWDG和WWDG大同小异,只是可在上限(即自动重载值,即最大值)与下限(即0)之间改变计数器的值,并且必须在这个区间改变计数器的值,否则就会产生复位。

  1. 时钟源:外部RC时钟。
  2. 计数周期
    在这里插入图片描述

注:
1.时钟源不同,WWDG必须是系统时钟正常运行的情况下才能正常运行,如果系统时钟错了,有可能程序已经跑飞,但不会产生复位。但IWDG的时钟则是独立的,不会受到内核产生的系统时钟的影响。
2.看门狗也是一个中断源,在中断服务子函数可以保存数据什么的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L7256

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值