0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32F1_ WDG看门狗(独立+窗口)

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-04-08 10:44 次阅读

前言

今天总结“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的芯片都适用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 看门狗
    +关注

    关注

    10

    文章

    558

    浏览量

    70691
  • STM32F10
    +关注

    关注

    0

    文章

    45

    浏览量

    15599
  • WWDG
    +关注

    关注

    0

    文章

    19

    浏览量

    5485
收藏 人收藏

    评论

    相关推荐

    看门狗定时器的工作原理

    看门狗定时器是一种独立的计时器硬件模块,其核心功能是倒计时。如果系统软件在计时器超时前没有对其进行复位操作(即“喂狗”),看门狗将触发一个预定义的动作,通常是系统复位或中断。
    的头像 发表于 10-21 14:18 183次阅读
    <b class='flag-5'>看门狗</b>定时器的工作原理

    【GD32F470紫藤派开发板使用手册】第七讲 FWDG-看门狗实验

    通过本实验主要学习以下内容: 独立看门狗的原理 独立看门狗功能介绍 实现独立看门狗功能
    的头像 发表于 05-11 10:13 822次阅读
    【GD32<b class='flag-5'>F</b>470紫藤派开发板使用手册】第七讲 FWDG-<b class='flag-5'>看门狗</b>实验

    【GD32H757Z海棠派开发板使用手册】第七讲 FWDG-看门狗实验

    通过本实验主要学习以下内容: 独立看门狗的原理 独立看门狗功能介绍 实现独立看门狗功能
    的头像 发表于 05-10 09:37 586次阅读
    【GD32H757Z海棠派开发板使用手册】第七讲 FWDG-<b class='flag-5'>看门狗</b>实验

    软件看门狗和硬件看门狗的区别

    系统出现了故障或死锁,软件看门狗会自动重启系统或执行其他预定义的操作。软件看门狗通常用于嵌入式系统中,可以方便地进行编程和控制。硬件看门狗则是一种独立的硬件设备,它与计算机主板上的芯片
    的头像 发表于 04-16 15:10 869次阅读

    窗口看门狗的系列处理器监控电路TPS3813xxx数据表

    电子发烧友网站提供《带窗口看门狗的系列处理器监控电路TPS3813xxx数据表.pdf》资料免费下载
    发表于 04-07 10:29 0次下载
    带<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>的系列处理器监控电路TPS3813xxx数据表

    具备可编程窗口看门狗定时器的高精度电压监控器TPS3850-Q1数据表

    电子发烧友网站提供《具备可编程窗口看门狗定时器的高精度电压监控器TPS3850-Q1数据表.pdf》资料免费下载
    发表于 03-28 17:28 0次下载
    具备可编程<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>定时器的高精度电压监控器TPS3850-Q<b class='flag-5'>1</b>数据表

    具有可编程复位延迟功能的TPS3430-Q1汽车类窗口看门狗计时器数据表

    电子发烧友网站提供《具有可编程复位延迟功能的TPS3430-Q1汽车类窗口看门狗计时器数据表.pdf》资料免费下载
    发表于 03-28 17:15 0次下载
    具有可编程复位延迟功能的TPS3430-Q<b class='flag-5'>1</b>汽车类<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>计时器数据表

    具有精密窗口看门狗计时器的汽车类毫微级IQ TPS3436-Q1数据表

    电子发烧友网站提供《具有精密窗口看门狗计时器的汽车类毫微级IQ TPS3436-Q1数据表.pdf》资料免费下载
    发表于 03-28 10:30 0次下载
    具有精密<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>计时器的汽车类毫微级IQ TPS3436-Q<b class='flag-5'>1</b>数据表

    具有窗口看门狗的汽车处理器监控电路TPS3813-Q1数据表

    电子发烧友网站提供《具有窗口看门狗的汽车处理器监控电路TPS3813-Q1数据表.pdf》资料免费下载
    发表于 03-14 10:10 0次下载
    具有<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>的汽车处理器监控电路TPS3813-Q<b class='flag-5'>1</b>数据表

    STM32L151在STOP模式下如何冻结独立看门狗

    STM32L151在STOP模式下如何冻结独立看门狗。使用CubeMX生成的程序。
    发表于 03-13 07:04

    调试模式下如何调试看门狗

    大家在调试GD32 MCU系统的时候,若开了看门狗外设,是否会碰到进入调试模式看门狗就会咬造成无法调试的问题?
    的头像 发表于 02-23 09:30 1162次阅读
    调试模式下如何调试<b class='flag-5'>看门狗</b>?

    MCU看门狗应用注意事项

    我们使用的MCU是普冉的PY32F030,这颗芯片在低功耗应用场景下,使用看门狗会有很多的问题和缺陷,需要非常注意,稍有不慎,就会出问题。
    发表于 12-02 09:47 1045次阅读
    MCU<b class='flag-5'>看门狗</b>应用注意事项

    STM32看门狗原理和示例代码

    看门狗基础:STM32微控制器上的看门狗主要有两种类型:独立看门狗(IWDG)和窗口
    的头像 发表于 12-01 08:00 1799次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>看门狗</b>原理和示例代码

    RT-Thread Nano入门:独立看门狗(IWDT)

    本文主要介绍怎么用RT-Thread Nano实现独立看门狗IWDT驱动,创建一个喂狗线程,实现定时喂狗功能。
    的头像 发表于 11-22 11:04 2055次阅读
    RT-Thread Nano入门:<b class='flag-5'>独立</b><b class='flag-5'>看门狗</b>(IWDT)

    什么是模拟看门狗?模拟看门狗有什么用处?

    看门狗大家应该再熟悉不过了,一旦忘记喂狗就会导致单片机复位,而在大部分stm32中都存在两种类型的看门狗,Independent watchdog (IWDG)独立
    的头像 发表于 11-22 09:40 1594次阅读
    什么是模拟<b class='flag-5'>看门狗</b>?模拟<b class='flag-5'>看门狗</b>有什么用处?