iwdg和wwdg
一、什么是看门狗?
在单片机工作的时候经常会出现受到外界电磁场的干扰导致程序跑飞,而陷入死循环,而使整个系统陷入无法正常工作的状态。
“看门狗”是一种专门用于监测单片机程序运行状态的模块或者芯片。
二、独立看门狗iwdg
独立看门狗应用到的寄存器
键值寄存器IWDG_KR:0~15位有效
预分频寄存器IWDG_PR:0~2位有效
重装载寄存器IWDG_RLR:0~11位有效
上述两个寄存器具有写保护功能
状态寄存器IWDG_SR:0~1位有效
独立看门狗操作步骤

独立看门狗程序实践
在STM32F103系列单片机的不完全手册上面有对于独立看门狗的例程,分为初始化和喂狗两部分,这个程序是与上面的步骤相对应的。

在后续的实践和学习中,发现可以用cubeMX进行看门狗的配置(等同于在代码中的初始化),之后在代码中用HAL_IWDG_Refresh函数直接喂狗就可以了。



三、窗口看门狗wwdg
窗口看门狗(WWDG)用于发现由外部接口或者不可预期的逻辑操作导致的软件故障。这些故障会导致程序中断正常运行。当一个程序周期结束时,看门狗电路会产生一个MCU复位信号,除非在看门狗电路复位之前程序返回正常运行逻辑。当计数器减少到预设值的时候,也会产生一个复位信号。这就意味着计数器必须限制在一个指定的窗口内。
【窗口看门狗主要特性】
1、可编程向下计数器
2、复位条件:计数器值小于0x40或者计数器值超出设定的窗口。
3、早期唤醒中断(EWI)计数值等于0x40时产生中断,即等于0x40就产生中断小于0x40就复位。
产生复位条件:计数器计数到小于0x40,计数器值小于配置寄存器(CFR)中设定的窗口值时 产生复位信号。
窗口计数器的计数值在0x7F到0x40之间变化.窗口计数器一旦被使能,就不能停止,直到reset。即使没有使能窗口看门狗,其计数器也会直至不停地计数,所以为了避免刚开始计数就被复位,计数器的值必须设置为大于等于0x40即CR中的T6位必须设置为1并且小于预设值,然后启动WWDG。
窗口看门狗的特点是:不能在狗饱时喂狗,也不能在狗饿时喂狗。狗饿时喂狗,狗要咬人;狗饱的时候喂,狗也要咬人;只能在一个时间段内、当狗半饱的时候喂,狗才能乖乖地干活。一般的看门狗是在任何时间都可以喂狗,不管狗是不是已经饱了。这段时间就是计数器数字在的T[6..0]到0x40之间时,才可以喂狗。这里的窗口,可以理解为喂狗的时间窗口。

四、关于看门狗的应用和一些理解误区
窗口看门狗是挂载在APB1时钟上的一个定时器(计数器),而独立看门狗是应用独立时钟源的一个计数器,对于精准度而言窗口看门狗有更高的时间精确度,但是使用窗口看门狗时
,窗口看门狗的预分频值最高为8,会造成重装载(喂狗)的频率过高,达不到看门狗的效果。
独立看门狗并不能追踪到任务执行到哪里的时候出现了错误,只能在程序跑飞(例如进入hardfault,can error)的时候进行reset。
独立看门狗的喂狗任务可以说是与其他任务是独立的,无论是在定时器中断中,还是在RTOS的多线程系统中,独立看门狗都是独立于其他的任务而存在的,与其他的任务互不干扰。
iwdg和wwdg的更多相关文章
- 第35章 WWDG—窗口看门狗—零死角玩转STM32-F429系列
第35章 WWDG—窗口看门狗 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...
- STM32之看门狗(独立与窗口)
广大的互联网网友们,大家早上中午晚上好,我是某某某..对于狗..看过<忠犬八公>的我.无不深深的被狗的义气与灵气所震撼..我也觉得在所有mcu中用看门狗来形容让系统复位的功能是很恰当的.也 ...
- STM32窗口看门狗和独立看门狗的区别,看门狗介绍及代码演示
一.介绍: STM32看门狗分为独立看门狗和窗口看门狗两种,其两者使用调条件如下所示, IWDG和WWDG两者特点如下图所示: 独立看门狗的手册资料: 窗口看门狗的手册资料: ...
- STM32之------独立看门狗(IWDG)和窗体看门狗(WWDG)
一 前沿废语: 之前有很风靡的游戏,名字叫<看门狗>.该游戏用了很新的引擎技术,打造出了一个辽阔庞大的世界,内容是玩家Aiden·Pearce(主角)是一名精通黑客技术的高手,当时 ...
- STM8S awu及看门狗IWDG WWDG应用(转)
源:STM8S awu及看门狗IWDG WWDG应用 AWU的应用(用库函数完成的) //切记要开启中断 且在中断函数中 AWU_GetFlagStatus(); 来清除中断 void AWU_SET ...
- STM32之独立看门狗(IWDG)与窗口看门狗(WWDG)总结
一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...
- watchdog(IWDG)
1.为了避免程序忙跑跑死了没反应,加上一个看门狗watchdog实时监控着程序,一旦程序没有在规定的时间喂狗,则狗叫使得单片机复位. 2.Independent watchdog(IWDG)内部有时钟 ...
- STM8S——watchdog(IWDG)
IWDG工作原理: 1.当键值寄存器(IWDG_KR)中写入数值0xCC后,独立看门狗就会被启动,计数器开始从它的复位值0xFF开始递减计数,当计数减到0x00时就会产生一个复位信号. 2.使用IWD ...
- STM32之旅5——IWDG
STM32之旅5--IWDG stm32有两个看门狗,一个独立看门狗(IWDG).一个窗口看门狗(WWDG):独立看门狗是时钟源是内部的40kHz的低速时钟,即使主频出问题了,独立看门狗也不会受到影响 ...
随机推荐
- Excel文件导入SQL Server数据库
Excel表格的使用可谓是非常广泛,博主也简单百度了一下Excel的发展. 发展历程: 1982年 Microsoft推出了它的第一款电子制表软件-Multiplan,并在CP/M系统上大 Excel ...
- k8s学习笔记一(搭建&部署helloworld应用)
kubernetes 目录 kubernetes 虚拟机创建三个节点 k8s install 部署hello world 应用 issue 汇总 node 一直处理NotReady状态 重启系统后虚拟 ...
- Linux中8个有用的touch命令
在Linux中,每个文件都有时间戳,并且每个文件都存储上次访问时间,上次修改时间,上次改变时间的信息.因此,无论什么时候我们创建新的文件,访问或者修改一个存在的文件,那个文件的时间戳会自动被更改. 在 ...
- 后门及持久化访问3----进程注入之AppInit_DLLs注册表项
进程注入之AppInit_DLLs注册表项 User32.dll被加载到进程时,会获取AppInit_DLLs注册表项,若有值,则调用LoadLibrary() API加载用户DLL.只会影响加载了u ...
- Java中的异常处理机制的简单原理和应用?
程序运行过程中可能出现各种"非预期"情况,这些非预期情况可能导致程序非正常结束. 为了提高程序的健壮性,Java提供了异常处理机制: try { s1... s2... s3... ...
- 你是怎么看Spring框架的?
Spring是一个轻量级的容器,非侵入性的框架.最重要的核心概念是IOC,并提供AOP概念的实现方式,提供对持久层,事务的支持,对当前流行的一些框架(Struts,Hibernate,MVC),Spi ...
- 用TLS/SSL保证EMQ的网络传输安全
作为基于现代密码学公钥算法的安全协议,TLS/SSL能在计算机通讯网络上保证传输安全,EMQ的MQTT broker支持TLS,也可以用这种方式来确保传输安全. 参考官网:https://www.em ...
- 使用 Redis 有哪些好处?
1.速度快,因为数据存在内存中,类似于 HashMap,HashMap 的优势就是查 找和操作的时间复杂度都是 O1) 2.支持丰富数据类型,支持 string,list,set,Zset,hash ...
- Container 在微服务中的用途是什么?
容器是管理基于微服务的应用程序以便单独开发和部署它们的好方法.您可以将 微服务封装在容器映像及其依赖项中,然后可以使用它来滚动按需实例的微服务, 而无需任何额外的工作.
- 转载:2017百度春季实习生五道编程题[全AC]
装载至:https://blog.csdn.net/zmdsjtu/article/details/70880761 1[编程题]买帽子 时间限制:1秒空间限制:32768K度度熊想去商场买一顶帽子, ...