STM32F1内置了两个看门狗,独立看门狗IWDG和窗口看门狗WWDG,可以用来检测和解决由软件错误引起的故障。

IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。

STM32的独立看门狗由内部专门的40Khz低速时钟(LSI)驱动,即使主时钟发生故障,它也仍然有效。这里需要注意独立看门狗的时钟是一个内部RC时钟,而不是准确的40Khz,而是30~60Khz之间的一个可变化的时钟,只是估算的时候以40Khz的频率来计算,看门狗对时间的要求不是很精确,所以时钟有些偏差是可以接受的。

独立看门狗的配置如下:

void IWDG_Init(u8 prer,u16 rlr)
{   //取消IWDG_PR和IWDG_RLR的写保护IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//预分频IWDG_SetPrescaler(prer);//重装载IWDG_SetReload(rlr);//重载计数值即喂狗IWDG_ReloadCounter();IWDG_Enable();
}

这里需要注意的是,不需要使能时钟。

其中喂狗时间计算方式为:Tout = ((4*2^prer) * rlr)/40

prer取值范围为0~7

当prer值为4,rlr值为625时,Tout=1000ms,这样只要在1s之内喂狗就不会发生看门狗复位。

需要注意的是,由于看门狗的时钟不精确,所以最后不要太晚也就是太靠近1s的时间喂狗,需要提前一些。

喂狗函数:

void IWDG_Feed(void)
{   IWDG_ReloadCounter();
}

STM32F1笔记(六)独立看门狗IWDG相关推荐

  1. STM32F103五分钟入门系列(十三)独立看门狗IWDG

    参考:STM32F103五分钟入门系列(十三)独立看门狗IWDG 作者:自信且爱笑' 发布时间:2021-07-31 19:50:28 网址:https://blog.csdn.net/Curnane ...

  2. stm32专题三十四:独立看门狗 IWDG

    独立看门狗简介 IWDG结构框图 (1)独立看门狗时钟 独立看门狗的时钟由独立的 RC 振荡器 LSI 提供, 即使主时钟发生故障它仍然有效,非常独立. LSI 的频率一般在 30~60KHZ 之间, ...

  3. 独立看门狗IWDG详细解析

    目录 独立看门狗IWDG详细解析 为什么要有看门狗? 看门狗的定时原理 寄存器功能简介 看门狗定时器计数原理 看门狗相关寄存器 KR寄存器 PR寄存器 RLR寄存器 SR寄存器 看门狗相关基础知识 什 ...

  4. STM32—独立看门狗(IWDG)

    STM32-独立看门狗(IWDG) 独立看门狗(IWDG) STM32-独立看门狗(IWDG) 独立看门狗(IWDG) IWDG 简介 IWDG 功能框图剖析 独立看门狗时钟 计数器 重装载寄存器 键 ...

  5. cubeIDE开发, stm32独立看门狗IWDG的CubeMX配置及HAL库底层实现分析

    一.STM32 的IWDG简介 2.1 看门狗原理 看门狗本质上就是一种计数器,和我们现实生活中一炷香现象.沙漏现象等是同理的,计数器一般有两种做法,一种是递增,超过固定阀值报警:一种是递减,通常值降 ...

  6. STM32 - 独立看门狗IWDG - 使用注意事项+代码

    一.包含头文件 #include "stm32f10x_iwdg.h" 二.设置 独立看门狗 的超时时间 1.配置代码 /** 设置 IWDG 的超时时间* Tout(ms) = ...

  7. [STM32 ]内部独立看门狗IWDG

    看门狗大家应该都不陌生,STM32内部带有独立看门狗和窗口看门狗两种:其中独立看门狗依赖于内部的晶振LSI进行工作,窗口看门狗依赖于系统时钟工作: 看门狗的作用,防止程序跑飞无法实现自复位而存在:如果 ...

  8. 从零实现 独立看门狗IWDG STM32的待机与唤醒,在待机过程中如何喂狗

    欢迎大家留言交流~ 前言: 最近在学习原子的阿波罗,进行到待机实验,实验目的是摁下KEY_UP的时候就可以让MCU从待机模式唤醒了.而KEY1在按下的时候进入休眠.(验证过程比较繁琐,只看结论的小伙伴 ...

  9. 独立看门狗 IWDG

    一,独立看门狗 二,独立看门狗的时钟源 独立看门狗拥有自己的时钟源,不依赖PLL时钟输出的分频信号,能够独立运行,这样子的好处就是PLL假如受到干扰, 导致运行异常,独立的看门狗还能正常地进行工作,如 ...

最新文章

  1. 计算机组成原理2套题,计算机组成原理试卷及答案2套.doc
  2. imgcook:各种图像一键自动生成代码的工具
  3. itextsharp php,C#_C#使用iTextSharp设置PDF所有页面背景图功能实例,本文实例讲述了C#使用iTextSharp - phpStudy...
  4. php获取掩码,如何在PHP中实现位掩码?
  5. 计算机竞赛游戏探险岛,冒险岛2五大全新团本综合分析
  6. 利用ida python 实现复原函数调用的参数 (仅对数据被简单硬编码有效)
  7. html 为元素附空值,HTML空(void)元素有哪些?
  8. CENTOS 7 YUM 没有可用的软件包 NGINX
  9. matlab figure 调整大小、字体、线宽
  10. httpServletRequest中的流只能读取一次的原因
  11. 删库跑路是程序员最后的倔强?
  12. 微信小程序云开发教程-WXML入门-基本语法
  13. freeradius mysql web_CentOS7部署FreeRadius3.0及WEB管理界面DaloRadius
  14. 计算机 不识u盘,电脑uefi不识别u盘怎么办
  15. mysql 函数 人民币大写_PHP人民币转大写函数
  16. input type=“file“属性详解,利用capture调用手机摄像头
  17. 解决 remote: Repository not found. fatal: repository 'https://github.com/xxxx/xxxx.git/
  18. python两张表对比不同_Python对比数据库两张表是否一致
  19. 武汉理工大学操作系统 课内实验
  20. 文件存储解决方案-云存储阿里 OSS

热门文章

  1. flink sql设置并行度_《从0到1学习Flink》—— Flink parallelism 和 Slot 介绍
  2. 生产上oracle扩展表空间,oracle基于裸设备(raw device)扩充表空间
  3. java的原生数据类型_Java中的8种原生数据类型(Primitive Data Types)分析
  4. 读《第一次把事情做对》有感
  5. 前端基础-HTML标记语言
  6. 【工具相关】web-HTML/CSS/JS Prettify的使用
  7. Web前端体系的脉络结构
  8. canvas离屏技术与放大镜实现
  9. 尝试Office 2003 VSTO的开发、部署
  10. appium和selenium不同与相同之处