STM32F1_WDG看门狗(独立+窗口)

原创 2016年05月17日 22:56:18

前言

今天总结“STM32F103 WDG看门狗”,STM32F1有两个看门狗,IWDG独立看门狗和WWDG窗口看门狗,今天将两个看门狗一并总结了。

总结一下二者的区别:

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

2)、IWDG没有中断,WWDG有中断

3)、IWDG是12位递减的。WWDG是7位递减的

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

5)、IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。 WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。

看门狗在长期工作的产品中用到比较多,作用很简单,防止死机。看门狗的功能也可用于定时计数等。

 

每天总结的不仅仅是基础,而是重点,不起眼的重点,容易被人忽视的重点。关注微信公众号“EmbeddDeveloper”还有更多精彩等着你。

 

本着免费分享的原则,将总结的工程源代码分享给大家,还望看到的朋友关注一下微信公众号,并将文章分享给你的朋友。

 

下载

提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。

 

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

IWDG:https://yunpan.cn/cSQd68LfbPkIH  访问密码 d751

WWDG:https://yunpan.cn/cSQdk5CLVWVwW  访问密码 fe96

 

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

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

 

内容讲解

工程概要说明: IWDG工程基于“EXIT中断”工程修改而来,因为使用到按键来喂狗。系统复位,快速闪烁两次LED,接下来间隔1秒串口打印一个计数值(从0 - 8),在8秒的时间内按键喂狗,计数值会归零;如果不喂狗则会复位。

WWDG工程基于“TIM定时”而来,因为使用了定时的功能。我提供的工程喂狗的时间是57ms(刚好最大值),间隔57ms喂狗一次,不会复位(LED快速变化, 快速打印WWDG...); 如果大于57ms(自己可以修改一下)未喂狗则会复位(LED慢速变化, 不断打印Reset...)。

提供的工程简单明了,详细中文注释,方便自己方便大家。

 

关于“STM32F103  WDG看门狗” 我把重要的几点在下面分别讲述:

一、IWDG的配置


该函数位于IWDG工程的main.c文件下面;

提供的框图为见资料。

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

而要计满1250(40000/32)就需要8秒。不明白的朋友请自己分析一下哦。

 

二、WWDG的配置


该函数位于WWDG工程的main.c文件下面;

提供的框图为见资料。

这里也主要讲一下最大喂狗时间57ms.分频之后只能在1秒计数1099次,要计满63个大概就需要57ms,这个值就是最大值。

这个工程需要自己修改这个时间来测试,建议都自己亲手修改代码测试一下。

 

三、WWDG主函数


该函数位于WWDG工程的main.c文件下面;

通过串口打印的信息就可以清楚的知道系统复位了没有。

亲手修改来大于57ms的时间试试就知道。

 

四、今天的重点

A.WWDG计数器的范围为:0x40 --- 0x7F

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

C.没有两个寄存器,编程时请细看寄存器

 

说明

今天提供的软件工程基于STM32F103大容量芯片,其实只要适当修改工程的部分配置,STM32F1的芯片都适用。

最后

如果觉得内容适合你(如:内容易读易懂等),你又想了解更多相关内容,请关注公众号,新内容持续更新中,后期将会有更多优秀内容出现。

 

赞是一种鼓励、分享是最好的支持!

 

版权声明:本文为博主strongerHuang原创文章,转载请标明:来自http://blog.csdn.net/ybhuangfugui

STM32学习笔记之独立看门狗(IWDG)的使用

对STM32任何模块使用前都要对其初始化、第一步就是如何初始化模块。看数据手册如下:          读数据手册可以得知看门狗模块使用的系统LSI时钟,初始化配置之前要设置预分配寄存器I...
  • sinat_23338865
  • sinat_23338865
  • 2016年07月15日 23:35
  • 9879

STM32的独立看门狗

STM32 内 部自带了 2 个看门狗:独立看门狗(IWDG)和窗口看门狗(WWDG) STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然 有效。这...
  • u011046042
  • u011046042
  • 2014年07月24日 17:41
  • 4725

stm32 独立看门狗和窗口看门狗区别

本文转自: http://blog.sina.com.cn/s/blog_dc9571b90101isxs.html   1)独立看门狗没有中断,窗口看门狗有中断   2)独立...
  • qq_35362464
  • qq_35362464
  • 2016年12月22日 15:15
  • 2359

stm32CubeMx中实现窗口看门狗功能

stm32CubeMx中实现窗口看门狗功能               stm32CubeMx..........多数嵌入式编程人员可能已程习惯使用stm32的库开发方式来实现功能,库版本v3....
  • chenwei2002
  • chenwei2002
  • 2015年10月21日 11:28
  • 2676

STM32F103学习笔记(六) 独立看门狗and窗口看门狗

首先,学习两种狗,就该看到它们两者之间的不同: (1)独立看门狗由内部专门的 40Khz 低速时钟驱动,而窗口狗使用的是 PCLK1 的时钟,需要先使能时钟,而独立狗不需要使能。 (2)两者的...
  • mvp_dong
  • mvp_dong
  • 2015年01月23日 13:49
  • 3806

STM32F0xx_看门狗(独立+窗口)配置详细过程

Ⅰ、概述 对于看门狗,我觉得做单片机或者嵌入式开发的人员来说并不陌生,今天总结STM32F0看门狗的功能,F0的看门狗有两种:独立和窗口看门狗。 今天提供两种看门狗的软件工程实例,供大家下载。 ...
  • ybhuangfugui
  • ybhuangfugui
  • 2016年06月07日 22:10
  • 3116

STM32CubeMX使用方法及功能介绍

Ⅰ、写在前面 学习本文之前可以查看我前面的文章: STM32CubeMX介绍、下载与安装   主要讲述STM32CubeMX菜单及相关功能,简单讲述一下新建工程,后面结合实际例子讲述新建工程配置的具体...
  • ybhuangfugui
  • ybhuangfugui
  • 2016年08月21日 00:31
  • 8240

STM32F10x 学习笔记7(独立看门狗IWDG 模块)

按照STM32参考手册的说法:“独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时...
  • liyuanbhu
  • liyuanbhu
  • 2013年05月05日 18:30
  • 10930

STM32 独立看门狗实验

  • 2012年04月14日 14:42
  • 25KB
  • 下载

记录STM32的一次不明原因的复位

一次调试过程中,将程序烧写进原先的产品中后,使用IAR和STLINK进行调试,程序在接收到一个事件后,莫名其妙的复位。现象如下:         1、程序中使能看门狗的程序被注释掉--用于仿真程序。...
  • qq410791550
  • qq410791550
  • 2015年01月27日 18:08
  • 721
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:STM32F1_WDG看门狗(独立+窗口)
举报原因:
原因补充:

(最多只允许输入30个字)