在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,因此产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog) 。MM32内置两个看门狗(独立看门狗和窗口看门狗),提供了更高的安全性、时间的精确性和使用的灵活性,可以用来检测和解决由软件错误引起的故障,其中可以使用独立看门狗在stop低功耗模式下进行MCU不复位唤醒功能。
独立看门狗与窗口看门狗的区别
同样是看门狗,独立看门狗(IWDG)和窗口看门狗(WWDG)十分相似,但还是有些不同之处需要注意:
独立看门狗(IWDG)由专门的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效,可在停止(STOP)和待机(STANDBY)模式下工作。
窗口看门狗(WWDG)则由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。