STM32F1_WDG看门狗(独立+窗口)

发布者:breakthrough2最新更新时间:2021-01-16 来源: eefocus关键字: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最适合那些要求看门狗在精确计时窗口起作用的应用程序。


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

 

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的芯片都适用。


关键字:STM32F1  WDG  看门狗  独立+窗口 引用地址:STM32F1_WDG看门狗(独立+窗口)

上一篇:STM32F1_SysTick系统滴答
下一篇:STM32_DAC输出电压

推荐阅读最新更新时间:2024-11-11 16:54

STM8S 中断唤醒,定时唤醒,窗口看门狗
一、 STM8S 外部中断进行唤醒 先了解一下STM8S的中断资源 再看看STM8S的中断管理。STM8S采用软件优先级和硬件优先级来控制一个中断的响应,先比较软件优先级只有当软件优先级一致时才会比较硬件优先级,由于硬件优先级具有唯一性,这样便保证了某一时刻定会只有一个中断被处理。 要使用外部中断,只需简单的配置一下EXTI_CR1寄存器,并将主程序main的软件优先级置为0即可。默认情况下自复位开始,主程序的软件优先级被设置为3,处于最高软件优先级,仅有TRAP,TLI,RESET中断能够打断,其余的中断都是不会被响应的。 为了防止中断过程中被别的优先级高的中断所打断,可以将当前优先级置为最高3级。 代
[单片机]
STM32之窗口看门狗原理
stm32有两个看门狗,独立看门狗和窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。 独立看门狗是限制喂狗时间在0-x内,x由你的相关寄存器决定。喂狗的时间不能过晚。 窗口看门狗,所以称之为窗口就是因为其喂狗时间是一个有上下限的范围内,你可以通过设定相关寄存器,设定其上限时间和下限时间。喂狗的时间不能过早也不能过晚。 图1 窗口看门狗的 上窗口就是配置寄存器WWDG- CFR里设定的W ; 下窗口是固定的0x40; 当窗口看门狗的计数器在上窗口值之外,或是低于下窗口值都会产生复位。 图2 && 上窗口的值可以只有设定,7位二进制数最大只可以设定为127(0x7F),最小又必须大于下窗口的0x40,所以其
[单片机]
STM32之<font color='red'>窗口</font><font color='red'>看门狗</font>原理
STM32F1系列单片机硬件设计方法
用了很久STM32F1单片机了,现在总结一下STM32F1单片机硬件电路的设计方法。 1.电源 电源部分主要分为三部分电源,分别是主电源、后备电源和ADC电源。 1.1 主电源 主电源即引脚上标记为VDD1、VDD2...等引脚,这些引脚每个引脚必须要连接一个100nF的电容,并且需要靠近引脚放置,除此之外,这些引脚还需共同连接一个10uF的钽电容。 1.2 后备电源 VBAT引脚正常情况下需要连接到一个外部纽扣电池,同时需要对地连接一个100nF电容。如果没有纽扣电池或者不需要使用后备电源,这个引脚可以和VDD连接在一起,同时也需要对地连接一个100nF的电容。 后备电源还有以通过两个二极管实现双电源
[单片机]
<font color='red'>STM32F1</font>系列单片机硬件设计方法
STM32F1系列单脉冲模式下最小脉宽为多少?
在微控制器领域,STM32F1系列是一款非常流行的产品,广泛应用于各种嵌入式系统设计。该系列微控制器具有多种特性,其中包括单脉冲模式。在这种模式下,最小脉宽是一个重要的参数,它决定了脉冲信号的持续时间。 STM32F1系列微控制器的PWM(脉冲宽度调制)功能可以产生不同宽度的脉冲。关于最小脉冲宽度的具体数值,这取决于具体的硬件配置和编程设置。 在硬件上,STM32F1系列微控制器通常具有内置的PWM模块,可以配置为产生不同频率和占空比的脉冲。然而,具体的最小脉冲宽度限制取决于硬件电路设计和配置。 在软件编程方面,可以通过设置PWM模块的参数来配置脉冲的宽度。一般来说,可以通过设置比较匹配值或计时器溢出值等方式来控制脉冲宽度。具
[单片机]
PIC16F877A 看门狗定时器实验
//*******************PIC16F877A 看门狗定时器实验******************* // //PORTA,PORTB,PORTC,PORTD,PORTE复位时为输入状态 //PORTA.4(RA4)为开漏输出 // //WDT运行于独立的内部RC振荡器,即使器件时钟停振,WDT仍正常工作 //PIC16F877A单片机的WDT只能在烧写芯片时通过配置位启动或停止 //WDT基本溢出时间为18ms,由于温度影响,该值在7-33ms之间变化 //WDT和TMR0共用一个预分频器 //PSA=1; //预分频器分配给WDT使用 //PS2 PS1 PS0 WDT //
[单片机]
关于MCU看门狗最通俗的介绍
看门狗WatchDog 是一个很重要的资源,他能够有效的防止系统进入死循环或者程序跑飞。 工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。 看门狗是类似与硬件保护卡之类.保护硬盘数据的. 是单片机一个复位芯片,在单片机遇到异常情况之下自动复位!~~ 看门狗电路是用来看着你的CPU的,作用是不让你的程序丢失。 看门狗实际上是一个计数器,一般给看门狗一个大数,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个
[单片机]
关于MCU<font color='red'>看门狗</font>最通俗的介绍
stm32mp1 Cortex M4开发篇7:窗口看门狗
1.资源扩展板介绍 1.1硬件介绍&资源扩展板可开发项目 2.Cortex-M4 窗口 看门狗 2.1实验目的 熟悉STM32CubeIDE工具软件的使用。 掌握STM32CubeIDE软件的基本设计流程和设计步骤,能够使用工具进行设计、编程、 仿真 调试。 学习窗口看门狗的使用方法,掌握如何利用STM32MP157A 芯片 的窗口看门狗复位程序。 2.2实验环境 FS-MP1A开发平台 ST-Link 仿真器 STM32CubeIDE开发软件 PC机 XP、Window7/10 (32/64bit) 串口调试工具 2.3实验原理 看门狗其实就是一个 定时器 ,从功能上说它可以让 微控制器 在程序发生意外(程序进入死循环或
[单片机]
stm32mp1 Cortex M4开发篇7:<font color='red'>窗口</font><font color='red'>看门狗</font>
PIC看门狗定时器的理解
pic单片机看门狗计时器(Watch Dog Timer)是一个片内自振式的RC振荡计时器,无需任何的外接元件。这意味着即使芯片OSC1/OSC2上振荡停止了(例如执行指令SLEEP后),WDT照样保持计时。WDT计时溢出将产生RESET。在PIC16C5X 芯片内有一个特殊的谓之"定义EPROM"(Configuration EPROM)的单元,其中的一个位是用于定义WDT的。你可以将其置"0"来抑制WDT使之永远不起作用。这将在第七章的烧写器介绍部分详细说明,请参阅。 1、WDT周期 WDT有一个基本的溢出周期16ms(无预分频器pic16F917),如果你需要更长的WDT周期,可以把预分频器分配给WDT,最大分频比可达1:
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved