独立看门狗和窗口看门狗
STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。
两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位。
独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。
窗口看门狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。
IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。
WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。
独立看门狗特点
它是一个倒计时的计数器
● 自由运行的递减计数器
● 时钟由独立的RC振荡器提供(可在停止和待机模式下工作)
● 看门狗被激活后,则在计数器计数至0x000时产生复位
独立看门狗设置
喂狗超时设置
规定时间喂狗不复位
规定时间不喂狗复位
独立看门狗喂狗时间设置
窗口看门狗
窗口和周期设置
当递减计数器的值小于0x40,(若看门狗被启动)则产生复位。
如果启动了看门狗并且允许中断,当递减计数器等于0x40时产生早期唤醒中断(EWI),它可以被用于重装载计数器以避免WWDG复位。
可以在窗口看门狗的中断处理函数中喂狗,避免复位。