stm32CubeMx中实现窗口看门狗功能
stm32CubeMx..........多数嵌入式编程人员可能已程习惯使用stm32的库开发方式来实现功能,库版本v3.5.0本人之前也一直使用,开始使用stm32CubeMx开发方式,发现和原先库开发方式与很多不同,实现方法也有区别。 本文旨在将个人在stm32CubeMx开发方式中总结的一些经验写出来,供大家参考。
对于看门狗而言,stm32中有两种,分为独立看门狗(IWDG)和窗口看门狗(WWDG),在此大概介绍下两条警犬,本文重点介绍窗口看门狗。
独立看门狗:独立看门狗(IWDG)由专用的40kHz的低速时钟驱动,即使主时钟发生故障它也仍然有效。IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。
窗口看门狗:窗口看门狗通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。通俗说就是会产生两个复位。复位条件:(1)当计数器的数值从0x40减到0x3F;(2)当刷新看门狗时计数器的数值大于窗口上限值时。满足任何一条都可以产生复位信号。通常情况下设置窗口上限值为0x7F,下限值默认为0x40,计数器向下数到0x40就会产生中断,下个910us后变为0x3F就会复位系统。也就是喂狗操作不能早喂,即大于窗口值时会发生复位;喂的晚了,即计数器的数值从0x40减到0x3F时没有及时喂狗,也会产生复位。