窗口看门狗与独立看门狗最大的不同是中断,窗口看门狗拥有一个提前唤醒中断。也就是在快要产生复位的前一段时间(T[6:0]=0x40)来提醒需要进行喂狗,否则将复位。因此当窗口看门狗的计数器值减到0x40的时候,产生中断,在中断里向WWDG_CR重新写入计数器的值,即喂狗。

注意进入中断后,必须在不大于1个窗口看门狗计数周期的时间内重新写WWDG_CR,否则,看门狗将产生复位!

T[6:0]就是WWDG_CR的低七位,就是窗口看门狗的计数器。

W[6:0]是WWDG->CFR的低七位,是窗口看门狗的上窗口,下窗口值是固定的0x40。

低于下窗口值会产生复位。要注意当窗口看门狗的计数器在上窗口值之外被刷新也会产生复位。

最后要注意的是状态寄存器WWDG_SR,需要通过软件置0。

窗口看门狗配置示例

/***********************************************************
* tr:计数器值
* wr:窗口值
* fprer:分频系数,仅最低2位有效
* Fwwdg = PCLK1/(4096 * 2^fprer)
***********************************************************/
void WWDG_Init(u8 tr,u8 wr,u32 fprer)
{ RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);WWDG_CNT = tr&WWDG_CNT;WWDG_SetPrescaler(fprer);WWDG_SetWindowValue(wr);WWDG_Enable(WWDG_CNT);                 WWDG_ClearFlag();WWDG_NVIC_Init();WWDG_EnableIT();
} void WWDG_NVIC_Init()
{NVIC_InitTypeDef NVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannel = WWDG_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);
}

喂狗相关中断和代码

void WWDG_Set_Counter(u8 cnt)
{WWDG_Enable(cnt);
}void WWDG_IRQHandler(void)
{WWDG_SetCounter(WWDG_CNT);WWDG_ClearFlag();
}

STM32F1笔记(七)WWDG窗口看门狗相关推荐

  1. STM32F103ZE单片机在WWDG窗口看门狗的EWI中断中喂狗导致系统复位的原因及解决办法(中断函数重入问题)

    版权声明:本文为博主原创文章,欢迎转载    https://blog.csdn.net/ZLK1214/article/details/78308058 程序开启了WWDG的Early wakeup ...

  2. WWDG 窗口看门狗 知识详解

    目录 1. WWDG简介 2. WWDG功能框图解析 3. 启动方式 (1)软件启动 (2)硬件启动 4. WWDG超时图解及超时时间计算 1. WWDG简介 独立看门狗(Independent Wa ...

  3. STM32学习笔记——窗口看门狗WWDG介绍及配置

    WWDG 窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障.除非递减计数器的值在T6位(WWDG->CR 的第六位)变成0前被刷新,看门狗 ...

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

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

  5. 窗口看门狗的作用是什么?窗口看门狗复位分析

    一,窗口看门狗介绍 独立看门狗的喂狗范围 0-X(X由预分频器和重装载值决定,最大值为0xFFF) 独立看门狗相关介绍:传送门:独立看门狗 相比于独立看门狗,窗口看门狗限定了喂狗时间段(由喂狗上限和喂 ...

  6. HAL--独立看门狗、窗口看门狗

    一.看门狗简介 看门狗其实就是一个定时器,从功能上说它可以让微控制器在程序发生意外(程序进入死循环或跑飞)的时候,能重新回复到系统刚上电状态,以保障系统出问题的时候可以重启一次.说的复杂一点,看门狗就 ...

  7. 窗口看门狗与编程实验

    更多交流欢迎关注作者抖音号:81849645041 目标 了解窗口看门狗的工作原理及其使用场景,通过喂狗事件使窗口看门狗不产生复位. 原理 STM32有两个看门狗,一个是独立看门狗,一个是窗口看门狗. ...

  8. 【STM32学习笔记】(15)——窗口看门狗(WWDG)详解

    窗口看门狗(WWDG)概述 窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障.除非递减计数器的值在T6位变成0前被刷新,否则看门狗电路在达到预置 ...

  9. 7、【STM32】独立看门狗和窗口看门狗(IWDG、WWDG)实验

    前言 使用的是正点原子的探索者开发板进行学习,芯片:STM32F407ZGTx 学习说明此文档为本人的学习笔记,注重实践,关于理论部分会给出相应的学习链接. 注:本文档添加了对代码的在线调试功能,有助 ...

最新文章

  1. 百度不到的硬核资源,8h删,抓紧收藏!
  2. AI的阿基里斯之踵:模糊性
  3. Python 技术篇 - 利用os库实现读取遍历指定路径的文件,区分文件和文件夹
  4. Mac OS X 中的脚本语言应用
  5. pyecharts学习(part5)--散点图,地图,词云图
  6. 【渝粤教育】国家开放大学2018年春季 8256-21T药物治疗学 参考试题
  7. Java SQL解析引擎简介
  8. MongoDB 插入、更新、删除
  9. 剑网三手游哪个服务器人多稳定,“剑网三”手游开服后,我听了半个小时的骂街...
  10. java成员变量是什么
  11. vscode 脑图插件mindmap
  12. 基于中科院-CASIA-GaitDatasetB步态图像轮廓数据库的步态周期检测与步态角度特征MATLAB源码介绍
  13. uiautomator2输入中文的问题
  14. Flask懒加载时 moles.py 无法运行
  15. oracle to_char 和 to_date的区别,斜杠和横杠日期转换,mybatis中入参日期,数据库字段是date的写法
  16. 机器学习(六):朴素贝叶斯及拉普拉斯修正
  17. CentOS7快速搭建DNS中转服务器
  18. yolov8 瑞芯微RKNN和地平线Horizon芯片仿真测试部署
  19. android dalvik虚拟机,Android开发环境搭建之Dalvik虚拟机
  20. python cpk图,seve图片'数据:image/jpeg;base64'用Python

热门文章

  1. 【TypeScript系列教程10】循环语句的使用
  2. 浏览器各个属性的作用
  3. HB-X打不开的解决办法
  4. 【APICloud系列|36】小米应用商店可以检测同个应用不同版本信息
  5. mongodb 监控权限_运维监控产品分析篇
  6. php-cli下载,php-cli-color
  7. npp夜光数据介绍 viirs_科研成果快报第177期:中国地区长时序AVHRR气溶胶数据的主要问题: 气溶胶反演频次与重污染天气...
  8. 关于 Error: No PostCSS Config found in 的错误
  9. CSS实现文本周围插入符号
  10. HTML5 拖放、交换位置