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

    文章

    593

    浏览量

    72031
  • STM32F0
    +关注

    关注

    0

    文章

    61

    浏览量

    17554
  • IWDG
    +关注

    关注

    0

    文章

    23

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    Texas Instruments TPS3436-Q1精密窗口看门狗定时器是一款超低功耗(250nA典型值)器件,提供可编程窗口看门狗定时器。TPS3436-Q1可提供具有多种功能的
    的头像 发表于 08-18 14:54 ?124次阅读
    德州仪器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 ?712次阅读
    第二十四章 WWDG——<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>

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

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

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

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

    TPS36-Q1系列 带窗口看门狗定时器的汽车级纳米静态电流精密监控器数据手册

    TPS36-Q1 是一款超低功耗(典型值为 250 nA)器件,提供具有可编程窗口看门狗定时器的精密电压监控器。TPS36-Q1 支持宽阈值电平的欠压监控,在指定温度范围内具有 1.2% 的精度
    的头像 发表于 04-09 15:44 ?379次阅读
    TPS36-Q1系列 带<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>定时器的汽车级纳米静态电流精密监控器数据手册

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

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

    看门狗,你真的会用吗?

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

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

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

    抄作业!看门狗定时器必备知识

    Air201在模组内部集成了硬件看门狗,今天就一起来聊聊~ 本文将带你了解看门狗的工作原理、应用架构、定时时间设置、软硬件看门狗的区别,以及看门狗定时器的典型应用场景及关键设计因素等内
    的头像 发表于 12-30 14:44 ?887次阅读
    抄作业!<b class='flag-5'>看门狗</b>定时器必备知识

    具有可编程超时延迟的TPS3430EVM窗口看门狗定时器用户指南

    电子发烧友网站提供《具有可编程超时延迟的TPS3430EVM窗口看门狗定时器用户指南.pdf》资料免费下载
    发表于 12-24 15:27 ?0次下载
    具有可编程超时延迟的TPS3430EVM<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>定时器用户指南

    常用硬件看门狗电路

    硬件看门狗电路分享
    的头像 发表于 12-18 14:09 ?7431次阅读
    常用硬件<b class='flag-5'>看门狗</b>电路

    看门狗定时器的工作原理

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

    TPS7A63xx-Q1配置可在看门狗时实现长复位脉冲宽度

    电子发烧友网站提供《TPS7A63xx-Q1配置可在看门狗时实现长复位脉冲宽度.pdf》资料免费下载
    发表于 10-09 14:29 ?0次下载
    TPS7A63<b class='flag-5'>xx</b>-Q1<b class='flag-5'>配置</b>可在<b class='flag-5'>看门狗</b>时实现长复位脉冲宽度

    DRV3205-Q1的问答看门狗定时器配置

    电子发烧友网站提供《DRV3205-Q1的问答看门狗定时器配置.pdf》资料免费下载
    发表于 09-30 10:42 ?0次下载
    DRV3205-Q1的问答<b class='flag-5'>看门狗</b>定时器<b class='flag-5'>配置</b>