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

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

3天内不再提示

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

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-04-07 14:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

有些事不是看到了希望才去坚持,而是因为坚持才会看到希望。

Ⅰ、概述

对于看门狗,我觉得做单片机或者嵌入式开发的人员来说并不陌生,今天总结STM32F0看门狗的功能,F0的看门狗有两种:独立和窗口看门狗。

今天提供两种看门狗的软件工程实例,供大家下载。

两种看门狗各有各的特点,应用在不同的场合,下面将分别简单总结一下独立和窗口看门狗的功能。

Ⅱ、下载

文章提供的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘,请放心下载测试,如有问题请检查一下你的板子是否有问题。

ST标准外设库和参考手册、数据手册等都可以在ST官网下载,你也可以到我的360云盘下载。关于F0系列芯片的参考手册有多个版本(针对F0不同芯片),但有一个通用版本,就是“STM32F0x128参考手册V8(英文)2015-07”建议参考该手册,以后如果你换用一种型号芯片也方便了解。

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

IWDG独立看门狗:

https://yunpan.cn/cRfa8Qhi9g48Y访问密码 2c3e

WWDG窗口看门狗:

https://yunpan.cn/cRfa5DvT9syUm访问密码 7bf1

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

https://yunpan.cn/cS2PVuHn6X2Bj访问密码 8c37

Ⅲ、准备工作

对于看门狗的编程,建议大家准备F0的参考手册和数据手册,方便查阅相关知识,没有的请到ST官网或到我360云盘下载。

今天总结的软件工程是基于“TIM基本延时配置详细过程”修改而来,因此需要将该软件工程下载准备好。我每次都是提供整理好的软件工程供大家下载,但是,如果你是一位学习者,建议自己亲手一步一步操作。

Ⅳ、看门狗原理

①IWDG独立看门狗

独立看门狗由内部低速时钟LSI提供计数时钟,8 位分频,12位计数,需要定期喂狗(重载数值 ReloadCounter),如果计数值减为0了,还没有重载数值,则会响应复位事件。


②WWDG窗口看门狗

窗口看门狗由APB1(RCC_APB1Periph_WWDG)提供计数时钟,2 位分频,7位计数,需要定期喂狗(更新计数值),如果计数值减为0x40了,还未更新计数值,则会响应复位事件。

Ⅴ、代码描述

今天提供两种看门狗软件工程,下面分别来总结一下,主要讲解配置的函数接口。

①IWDG独立看门狗


该函数位于main.c文件上面;

重载数值的计算请结合上面的结构框图配合函数源代码,从函数中可以看的出来,只要0.5s。

运行效果:


喂狗最大时间500ms(理论值),但内部低速时钟LSI存在误差,建议修改测试时间:小于450,大于550;

小于450ms: 正常喂狗,串口间隔打印"Running..."LED变化;

大于550ms: 喂狗超时,系统复位,串口打印"System Reset..."

②WWDG窗口看门狗


该函数位于main.c文件上面;

这里的时钟和上面IWDG的时钟不同,结合框图也看得出了经过分频之后计数的值也是计算的出来的。

运行效果:


喂狗最大时间43ms(理论值),但串口打印需要一两毫秒,建议修改测试时间:小于41,大于43;

小于41ms: 正常喂狗,串口间隔打印"Running..."LED变化;

大于43ms: 喂狗超时,系统复位,串口打印"System Reset..."

③总结一下二者的区别

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

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

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

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

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

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

Ⅵ、说明

或许你硬件芯片不是提供工程里面的芯片,但是STM32F0的芯片软件兼容性很好,可以适用于F0其他很多型号的芯片,甚至是F2、F4等芯片上(具体请看手册、或者亲自测试)。

本文章提供的软件工程是基于ST标准外设库为基础建立而成,而非使用STM32CubeMX建立工程。个人觉得使用ST的标准外设库适合与学习者,STM32CubeMX建立工程结构复杂,对于学习者,特别是初学者估计会头疼。

今天的工程是基于工程“STM32F0xx_TIM基本延时配置详细过程”修改而来,以上实例总结仅供参考,若有不对之处,敬请谅解。

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

    关注

    10

    文章

    607

    浏览量

    72580
  • STM32F0
    +关注

    关注

    0

    文章

    61

    浏览量

    17746
  • IWDG
    +关注

    关注

    0

    文章

    23

    浏览量

    5754
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    IWDT独立看门狗配置

    寄存器写入 0x5555,解除 IWDT 寄存器锁定功能; 步骤 4: 配置 IWDT_CR,配置看门狗计数时钟与 RC10K 振荡器的预分频值、溢出后动作、深度休眠模式下是否自动
    发表于 12-05 06:18

    芯源MCU看门狗设置过程

    1 配置IWDT 为独立看门狗 步骤1:设置SYSCTRL_APBEN1.IWDT 为1,使能IWDT 的配置时钟; 步骤2:向IWDT_KR 寄存器写入
    发表于 12-03 06:33

    中科芯CKS32F107XX系列MCU的独立看门狗介绍

    中科芯CKS32F107xx系列产品内部提供两个看门狗定时器单元,独立看门狗IWDG(Independent Watchdog)和窗口
    的头像 发表于 11-28 14:51 3448次阅读
    中科芯CKS32<b class='flag-5'>F107XX</b>系列MCU的<b class='flag-5'>独立</b><b class='flag-5'>看门狗</b>介绍

    中科芯CKS32F107XX系列MCU的窗口看门狗介绍

    中科芯CKS32F107xx系列产品内部提供两个看门狗定时器单元,独立看门狗IWDG(Independent Watchdog)和窗口
    的头像 发表于 11-28 14:48 3604次阅读
    中科芯CKS32<b class='flag-5'>F107XX</b>系列MCU的<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>介绍

    “喂狗”的艺术:看门狗不叫,才是系统好

    看门狗选哪只好呢? 中间那只看起来不错。 咳咳搞错了,自动化项目中说的看门狗是PLC的看门狗,那这个有什么用呢?难道真的是看大门的
    的头像 发表于 11-25 10:50 78次阅读
    “喂狗”的艺术:<b class='flag-5'>看门狗</b>不叫,才是系统好

    既然有独立看门狗了,为啥还要窗口看门狗(WWDT),窗口看门狗的特色是什么?

    既然有独立看门狗了,为啥还要窗口看门狗(WWDT),窗口看门狗的特色是什么?
    发表于 11-21 06:42

    CW32配置IWDT为窗口看门狗的步骤

    寄存器写入 0x5555,解除 IWDT 寄存器锁定功能; 步骤 4:配置 IWDT_CR,配置看门狗计数时钟与 RC10K 振荡器的预分频值、溢出后动作、深度休眠模式下是否自动暂停
    发表于 11-13 06:53

    德州仪器TPS3436-Q1汽车级窗口看门狗定时器技术解析

    Texas Instruments TPS3436-Q1精密窗口看门狗定时器是一款超低功耗(250nA典型值)器件,提供可编程窗口看门狗定时器。TPS3436-Q1可提供具有多种功能的
    的头像 发表于 08-18 14:54 673次阅读
    德州仪器TPS3436-Q1汽车级<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>定时器技术解析

    STM32L433单片机如何在调试的时候关闭看门狗

    调试单步时,独立看门狗iwdg暂停 The independent watchdog counter clock is stopped when the core is halted__HAL_DBGMCU_FREEZE_WWDG();//
    发表于 07-11 07:15

    第二十四章 WWDG——窗口看门狗

    W55MH32的窗口看门狗是7位递减计数器,有上下窗口值,时钟来自PCLK1用于监测软件故障,代码演示了其配置、中断测试与复位测试。
    的头像 发表于 06-20 14:00 1023次阅读
    第二十四章 WWDG——<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>

    TPS3430 具有可编程复位延迟的窗口看门狗定时器数据手册

    TPS3430 是一款独立窗口看门狗定时器,具有可编程看门狗窗口和可编程看门狗复位延迟,适用于
    的头像 发表于 04-10 14:23 596次阅读
    TPS3430 具有可编程复位延迟的<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>定时器数据手册

    TPS3430-Q1 具有可编程复位延迟的汽车级窗口看门狗定时器数据手册

    TPS3430-Q1 是一款独立的汽车窗口看门狗定时器,具有可编程看门狗窗口和可编程看门狗复位延
    的头像 发表于 04-10 14:15 722次阅读
    TPS3430-Q1 具有可编程复位延迟的汽车级<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>定时器数据手册

    TPS3436-Q1 汽车级纳米静态电流精密窗口看门狗定时器数据手册

    TPS3436-Q1 是一款超低功耗(典型值为 250 nA)器件,提供可编程窗口看门狗定时器。 TPS3436-Q1 提供高精度窗口看门狗定时器,具有许多功能,适用于各种应用。
    的头像 发表于 04-09 14:40 621次阅读
    TPS3436-Q1 汽车级纳米静态电流精密<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>定时器数据手册

    看门狗,你真的会用吗?

    嵌入式系统开发中,看门狗是一种重要的机制,用于在程序异常时自动重启系统,保障其稳定性。本文将深入探讨看门狗及其在程序稳定性中的作用,帮助您更好地理解和应用看门狗技术。看门狗首先需要明确
    的头像 发表于 03-12 11:37 4570次阅读
    <b class='flag-5'>看门狗</b>,你真的会用吗?

    安利给工程师!看门狗相关知识

    看门狗能够及时检测并采取相应措施,从而避免系统长时间处于故障状态。本文将详细介绍看门狗的工作原理及其正确使用方法。 同时通过具体示例解析,教你如何在一个简单的LuatOS项目中集成看门狗
    的头像 发表于 12-31 14:29 922次阅读
    安利给工程师!<b class='flag-5'>看门狗</b>相关知识