窗口看门狗有一个提前唤醒中断,如果开启这个中断,那么当计数器的值达到0x40的时候就会产生这个中断。

上次的代码加一点就可以做这个实验了。

void WWDG_Init(u8 tr,u8 wr,u32 fprer)
{ RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);  //   WWDG时钟使能WWDG_SetPrescaler(fprer);//设置预分频系数WWDG_SetWindowValue(wr);//设置窗口上限WWDG_Enable(tr);  //设置计数器初值并且使能看门狗    WWDG_ClearFlag(); //清除提前唤醒中断标志WWDG_NVIC_Init(); //看门狗NVIC初始化WWDG_EnableIT();  //开启窗口看门狗中断  }

最后三行是新加的。

void WWDG_NVIC_Init(void)
{NVIC_InitTypeDef NVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannel = WWDG_IRQn;    //WWDG中断NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;       NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; NVIC_Init(&NVIC_InitStructure);
}void WWDG_IRQHandler(void)
{WWDG_SetCounter(0x7f); //在这里也可以喂狗,但是有的网友不建议这么做WWDG_ClearFlag();     //清除提前唤醒中断标志}

为什么会设计这样的中断呢?

我认为这样设计是为MCU复位之前留下一点时间,能够让程序员根据需要在复位之前保存一些重要的数据,这样在复位后MCU可以知道复位原因,以使系统有更高的稳定性。

有的网友说“在窗口看门狗中断函数中喂狗没有什么意义,程序本来已经不按正常运行了,还在中断函数中喂狗防止复位只会错上加错。”

stm32 窗口看门狗学习(二)相关推荐

  1. stm32 窗口看门狗学习(一)

    什么是窗口看门狗? 1)独立看门狗                限制喂狗时间在0-x内,x由相关寄存器决定.喂狗的时间不能过晚. 2)窗口看门狗               之所以称为窗口就是因为其 ...

  2. STM32窗口看门狗的喂狗初值传递的思考

    STM32窗口看门狗的喂狗初值传递的思考 来CSDN好久了,看了很多文章,也学到了很多宝贵的经验,对学习stm32单片机帮助很大, 利用原子哥的精英板学习窗口看门狗的过程中,有点疑问,在此写下来,希望 ...

  3. STM32—窗口看门狗(WWDG)

    STM32-窗口看门狗(WWDG) 窗口看门狗(WWDG) STM32-窗口看门狗(WWDG) 窗口看门狗(WWDG) WWDG 简介 WWDG 功能框图剖析 窗口看门狗时钟 计数器时钟 计数器 窗口 ...

  4. STM32窗口看门狗

    一.介绍 STM32看门狗分为独立看门狗和窗口看门狗两种,两者使用调条件如下所示: IWDG和WWDG两者特点如下图所示: 二.WWDG原理介绍 寄存器 控制寄存器(WWDG_CR),只有低八位有效. ...

  5. stm32 独立看门狗学习

    STM32F10xxx内置两个看门狗,提供了更高的安全性.时间的精确性和使用的灵活性.两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障. 独立看门狗(IWDG)由专用的低速 ...

  6. STM32——窗口看门狗

    main.c /********************************************************* ** FileName: 看门狗实验 ** Description: ...

  7. stm32看门狗_STM32单片机:独立看门狗、窗口看门狗的配置

    SATM32单片机的看门狗有独立看门狗和窗口看门狗之分,这两者的工作原理却完全不同,今天来看一下他们的具体区别和配置方法.▍STM32独立看门狗由专门的低速时钟(LSI)驱动,即便是主时钟发生故障它仍 ...

  8. 独立看门狗/窗口看门狗

    一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...

  9. STM32学习心得十七:窗口看门狗(WWDG)实验及旧知识点复习

    记录一下,方便以后翻阅~ 主要内容: 1) 窗口看门狗概述: 2) 常用寄存器和库函数配置: 3) 窗口看门狗实验. 窗口看门狗实验内容: 为了对之前的知识进行总结复习,本人在教学案例的基础上又&qu ...

最新文章

  1. Seam的中文化支持
  2. CAD中dwg转dxf
  3. Servlet3.0新特性全解
  4. Python中使用requests和parsel爬取喜马拉雅电台音频
  5. class unity 定义类_Unity 游戏框架搭建 2019 (二十五) 类的第一个作用 与 Obselete 属性...
  6. matlab实现非线性规划
  7. JDK源码分析(三)——HashMap 下(基于JDK8)
  8. UVA11393 Tri-Isomorphism【数学推理】
  9. SpringMVC:学习笔记(1)——理解MVC及快速入门
  10. 【Pycharm】安装及激活、界面调整、导入anaconda的依赖库、字体设置微软雅黑
  11. char类型和字符串
  12. 人民日报喊你学数学!实力不允许?8本书带你入门
  13. 目前常见的web网络安全漏洞
  14. 随机函数(随机取数)
  15. js 原生代码跳转页面,返回上一级页面
  16. R语言地理加权回归数据分析
  17. access查询mysql_Access数据库 如何创建查询
  18. html中列表前的序号用带圆圈的数字表示及存在的问题
  19. JQuery data方法的使用-遁地龙卷风
  20. OOM以及垃圾收集器

热门文章

  1. NYOJ 685 查找字符串(map)
  2. 从零实现一个简易jQuery框架之一—jQuery框架概述
  3. 新闻文字上下滚动代码
  4. 添加程序以DLL函数
  5. Spring for Android 1.0.0发布
  6. “熊猫烧香”式的病毒营销
  7. 数字图像处理形态学运算
  8. 图像中值处理MATLAB实现
  9. 转载:matlab 字符串和变量名互换
  10. Python学习笔记:Day15 部署Web App