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

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

3天内不再提示

STM32窗口看门狗详解

CHANBAEK 来源:头条号秋天滴风 作者:头条号秋天滴风 2023-05-01 09:06 次阅读

本文将介绍窗口看门狗,并通过按键模拟触发程序死机、进而触发提前唤醒中断、并复位程序。

①窗口看门狗介绍

STM32CUBEMX配置工程文件

③代码实现

①窗口看门狗介绍

窗口看门狗用来监测由于不可预知的因素或者不可预知的逻辑条件导致程序脱离正常运行序列的软件故障。

窗口看门狗介绍之工作原理框图:

wKgaomRGRoOAFrakAAGAJ4Mz4JQ800.jpg

窗口看门狗介绍之配置寄存器

预分频器用于将RCC传来的PCLK1时钟进行分频,配置寄存器中第7位第8位用来存放预分频器的预分频值,第0位至第6位用于存放窗口看门狗的窗口值,当计数器的值大于窗口值时喂狗会触发复位、即只有计数器的值在0x40与窗口值之间时喂狗不会触发程序复位;所以窗口值需要大于0x40、小于0x7f,否则窗口没有意义。

窗口看门狗介绍之控制寄存器:

寄存器第0至第6位用于存放计数器的计数值,计数值最大0x7f、当计数值降低到0x40时会触发提前唤醒中断,在提前唤醒中断里可以保存重要的数据或者报警,当寄存器第6位由1变0时会对程序进行复位。

②STM32CUBEMX配置工程文件

Step1:使能USART3用于调试

wKgZomRGRoOAACQ_AANh2KlcKko800.jpg

Step2:使能RCC时钟、配置时钟树

wKgaomRGRoSAJ6y_AANypdax-RE591.jpg

wKgZomRGRoWAHZiuAALX6y0n8t8407.jpg

Step3:配置按键PA0为外部输入中断、设置中断优先级

wKgZomRGRoWAS9SvAAOE2sjSFz8710.jpg

wKgaomRGRoaAAEmCAAOXEbKMjZE533.jpg

Step4:使能窗口看门狗、配置分频数、计数值、窗口值,设置中断等级

wKgZomRGRoaACeYbAAKoNU16ZDM766.jpg

计数值减小5花费1us,窗口值为95、计数值为127

wKgaomRGRoeAD-ndAAOacZbfqtI337.jpg

Step5:配置GPIO控制led,用于提前唤醒中断里报警亮灯

wKgZomRGRoiADLTuAAMuP_Ja2pc448.jpg

Step6:生成工程

wKgaomRGRoiAHkmpAAKpwjBx_ic551.jpg

wKgZomRGRomAGNdqAAKcFgMJFeI041.jpg

wKgaomRGRomALy8kAAKaVblnRy0985.jpg

③代码实现

Step1:输出重定向,记得添加头文件

wKgZomRGRoqALk3uAAPKayBOR40703.jpg

While后少了一个分号哈!!!

Step2:在窗口值以下喂狗

wKgaomRGRouAbwejAATYAw_9B5o985.jpg

Step3:重定义提前唤醒函数

wKgZomRGRouAS67iAASEwxSmTk4247.jpg

Step4:重定义外部中断函数

wKgaomRGRoyAWtnUAAR0PKb4c78352.jpg

step5:编译、日志

wKgZomRGRoyAPVdhAABbRwPlmFk158.jpg

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

    关注

    10

    文章

    559

    浏览量

    70745
  • 寄存器
    +关注

    关注

    31

    文章

    5317

    浏览量

    120003
  • STM32
    +关注

    关注

    2266

    文章

    10871

    浏览量

    354793
  • 中断
    +关注

    关注

    5

    文章

    895

    浏览量

    41392
  • stm32cubemx
    +关注

    关注

    5

    文章

    280

    浏览量

    14752
收藏 人收藏

    评论

    相关推荐

    STM32中的独立看门狗窗口看门狗是什么

    在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门狗发展到今天基本上分为两大类:独立看门狗
    的头像 发表于 02-20 17:47 2671次阅读
    <b class='flag-5'>STM32</b>中的独立<b class='flag-5'>看门狗</b>和<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>是什么

    stm32看门狗时间计算 独立看门狗窗口看门狗的特性是什么

    本文为您讲解STM看门狗时间计算(时限)与频率计算,独立看门狗窗口看门狗的特性、区别与联系。
    发表于 10-10 10:41 8733次阅读

    什么是stm32看门狗?独立看门狗窗口看门狗工作原理解析

    stm32有两个看门狗,独立看门狗窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。 独立
    的头像 发表于 11-06 11:48 2.7w次阅读
    什么是<b class='flag-5'>stm32</b><b class='flag-5'>看门狗</b>?独立<b class='flag-5'>看门狗</b>和<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>工作原理解析

    STM32看门狗配置(独立看门狗IWDG和窗口看门狗WWDG)

    stm32自带两个看门狗模块,独立看门狗IWDG和窗口看门狗WWDG。看门狗主要作用是可用来检测
    发表于 11-09 17:17 8415次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>看门狗</b>配置(独立<b class='flag-5'>看门狗</b>IWDG和<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>WWDG)

    STM32看门狗配置详情解说

     stm32有两个看门狗,独立看门狗窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。独立
    发表于 11-13 11:17 4416次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>看门狗</b>配置详情解说

    STM32单片机中的独立看门狗窗口看门狗有哪些不同之处

    1.关于看门狗的解释不再说明,窗口看门狗简而言之即只能看某个窗口期即某段时间内才能够喂狗。32的独立看门狗是没有中断的,而
    发表于 12-10 15:55 3373次阅读

    STM32F1_ WDG看门狗(独立+窗口

    STM32F1_WDG看门狗(独立+窗口
    的头像 发表于 04-08 10:44 4131次阅读
    <b class='flag-5'>STM32</b>F1_ WDG<b class='flag-5'>看门狗</b>(独立+<b class='flag-5'>窗口</b>)

    STM32有两个看门狗,独立看门狗窗口看门狗

    窗口看门狗的上窗口就是配置寄存器WWDG->CFR里设定的W[6:0];下窗口是固定的0x40;当窗口
    的头像 发表于 06-15 09:02 4754次阅读
    <b class='flag-5'>STM32</b>有两个<b class='flag-5'>看门狗</b>,独立<b class='flag-5'>看门狗</b>和<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>

    stm32看门狗的特点是什么

    stm32有两个看门狗,独立看门狗窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。
    的头像 发表于 07-22 11:08 4027次阅读

    【MCU】基于STM32CubeMX 实现窗口看门狗 WWDG

    基于STM32CubeMX 实现窗口看门狗 WWDG第一部分 基础理论基础理论部分主要参考 STM32F10X 参考手册1. WWDG 简介(1)WWDG
    发表于 11-01 16:24 10次下载
    【MCU】基于<b class='flag-5'>STM32</b>CubeMX 实现<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b> WWDG

    STM32:独立看门狗窗口看门狗的配置

    STM32单片机的看门狗有独立看门狗窗口看门狗之分,这两者的工作原理却完全不同。
    发表于 02-08 16:15 18次下载
    <b class='flag-5'>STM32</b>:独立<b class='flag-5'>看门狗</b>、<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>的配置

    窗口看门狗是什么?与独立看门狗有啥区别?

    STM32有两个看门狗,独立看门狗窗口看门狗。其实两者的功能是类似的,只是喂狗的限制时间不同。
    发表于 02-09 10:28 9次下载
    <b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>是什么?与独立<b class='flag-5'>看门狗</b>有啥区别?

    STM32窗口看门狗(WWDG)开源

    电子发烧友网站提供《STM32窗口看门狗(WWDG)开源.zip》资料免费下载
    发表于 11-14 09:26 29次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>(WWDG)开源

    STM32中的独立看门狗窗口看门狗

    窗口看门狗。 独立看门狗:使用的是外部时钟,即使主频不工作了,看门狗也能正常工作。只要在到达喂狗时间的上限前喂狗即表示程序是正常的,这点和窗口
    的头像 发表于 12-22 16:58 2059次阅读

    STM32中的独立看门狗窗口看门狗

    在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门狗发展到今天基本上分为两大类:独立看门狗
    的头像 发表于 01-30 14:38 1325次阅读
    <b class='flag-5'>STM32</b>中的独立<b class='flag-5'>看门狗</b>和<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>