STM32F1 WDG看门狗 独立+窗口

今天,我们总结STM32F103 WDG看门狗。STM32F1有两个看门狗,IWDG独立看门狗和WWDG窗口看门狗。今天,我们一起来总结一下这两只看门狗。

总结两者的区别:

1) IWDG使用内部低速时钟LSI,WWDG使用系统时钟APB1ENR。

2) IWDG没有被中断,WWDG被中断。

3),IWDG是12位递减。WWDG递减7位。

4) IWDG只有下限,WWDG有下限和上限。

5)、IWDG最适合那些要求看门狗在主程序之外完全独立工作,对时间精度要求不高的场合。WWDG最适合需要看门狗在精确定时窗口内工作的应用。

看门狗广泛应用于长时间工作的产品中。它的功能非常简单,它可以防止崩溃。看门狗功能也可用于定时计数等。

每天总结的不仅是基础,还有重点,不显眼的重点,容易被忽略的重点。关注微信微信官方账号嵌入式开发人员还有更多精彩的事等着你。

下载

下载的软件工程是在硬件板上经过多次测试,确保没有问题后上传到360云盘的。

今天软件工程下载地址(360云盘):

3359yunpan.cn/CSQD68LFBPKIH IWG访问密码d751

wwdg:https://yunpan.cn/csqdk5clvwvww访问密码fe96

STM32F10x的资料可以从我的360云盘下载:

https://yunpan.cn/crBUdUGdYKam2访问密码ca90

解释内容

项目简介:IWDG项目基于退出中断工程变更单,因为钥匙是用来喂狗的。重置系统,快速闪烁LED两次,然后以1秒的间隔通过串行端口打印一个计数值(从0到8)。8秒内按键喂狗,计数值归零;如果你不不要喂狗,它会被重置。

WWDG项目是基于TIM Timing 因为它使用了计时的功能。我提供的项目喂狗时间是57ms(只是最大值),不会每57ms复位一次(LED变化快,WWDG打印快.);大于57ms(可以自己修改)不喂狗会复位(LED变化慢,复位连续打印.).

提供的项目简单明了,有详细的中文注释,方便你和大家。

关于STM32F103 WDG看门狗,我将分别讲述以下重要的几点:

一、IWDG的配置

该函数位于IWDG项目的main.c文件下;

参考资料中显示了所提供的框图。

我想我最关心的是这个8秒喂狗时间是怎么算出来的。其实我看了程序的注释和框图应该就能明白了。40K分频256后,1秒只能算156次,

而数到1250(40000/32)需要8秒。如果你不不明白,请自己分析。

二、 wwdg wwdg的配置

该函数位于WWDG项目的main.c文件下;

参考资料中显示了所提供的框图。

这里主要说一下最大喂狗时间57ms。分频后1秒只能算1099次。计数63次大约需要57 ms,这是最大值。

这个项目需要修改这个时间进行测试。建议大家修改代码进行测试。

三、WWDG主要功能

该函数位于WWDG项目的main.c文件下;

通过串口打印的信息可以清楚的看出系统是否已经复位。

尝试自己修改57ms以上。

:今天四、 的焦点

A.WWDG计数器的范围是0x40 -0x7F。

B.当微控制器进入调试模式时(Cortex-M3内核停止),WWDG的计数器可以根据调试模块中DBG _ WWDG _停止配置位的状态继续工作或停止工作。

C.没有两个寄存器。编程时请仔细查看寄存器。

解释

今天提供的软件项目是基于STM32F103大容量芯片。其实只要适当修改项目的一些配置,STM32F1芯片都是适用的。