STM32中独立看门狗的配置
我自己使用的是独立看门狗由内部专门的 32Khz 低速时钟(LSI)驱动。主要自己查手册看LSI是多少就是多少。
LL库中的配置:void MX_IWDG_Init(void)
{ /* Enable APB0 indipendent Watchdog peripherals clock */LL_APB0_EnableClock(LL_APB0_PERIPH_WDG);/* Force WDG peripheral reset */LL_APB0_ForceReset(LL_APB0_PERIPH_WDG);LL_APB0_ReleaseReset(LL_APB0_PERIPH_WDG);/* Check if WDG Reset Release flag interrupt occurred or not */while(LL_RCC_IsActiveFlag_WDGRSTREL() == 0){}LL_IWDG_Enable(IWDG);LL_IWDG_EnableWriteAccess(IWDG);LL_IWDG_SetPrescaler(IWDG, LL_IWDG_PRESCALER_16);LL_IWDG_SetWindow(IWDG, 0xFFF);LL_IWDG_SetReloadCounter(IWDG, 0xFFF);while (LL_IWDG_IsReady(IWDG) != 1){}LL_IWDG_ReloadCounter(IWDG);
}void Iwdg_FeedDog(void)
{LL_IWDG_ReloadCounter(IWDG);
}
看门狗有俩个时间,一个喂狗时间,和一个超时时间
喂狗时间就是看把函数void Iwdg_FeedDog(void)放在某个一段时间执行一次的位置,比如放在500MS执行一次的位置,,这个由自己判断
超时时间:
Tout = (( 4 × 2 ^ prer ) × rlr ) / 32Khz;
其中 Tout 为看门狗溢出时间(单位为 s);
prer 为看门狗时钟预分频值(IWDG_PR 值),范围为 0~7;但其实不用管前面,直接算整体:(4×2^prer)整体为实际预分频值,预分频值可取值为4/8/16/32/64/128/256。
比如我选的LL_IWDG_PRESCALER_16,就是16分频,直接(4×2^prer) = 16;
rlr 为看门狗的重装载值(IWDG_RLR 的值);
我选的rlr = 0xFFF,就是4095;
所以最后算(16 * (4095 + 1))/32 = 2.084;
就约为2秒,超时时间为2秒,也就是2秒内没喂狗就进行复位操作。
STM32中独立看门狗的配置相关推荐
- STM32之独立看门狗与窗口看门狗总结
一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...
- STM32F10xx中独立看门狗(IWDG)和窗口看门狗(WWDG)介绍
本文大部分内容只用到了键盘的3个按键-你懂的 . 简单总结,Markdown了解一下,推荐. 1.看门狗电路介绍 看门狗电路(watchdog timer),又称监控电路.百度百科解释的很详细: 在由 ...
- STM32之独立看门狗原理
STM32的独立看门狗由内部专门的40Khz低速时钟驱动,即主时钟发生故障,它也仍然有效,这里我们需要注意独立看门狗的时钟不是准确的40Khz,二是在30~60Khz之间变化的一个时钟,只是我们估算以 ...
- stm32 独立看门狗时钟配置
独立看门狗的时钟源为40k,分频因子最大为256 //初始化独立看门狗 5秒钟 //prer:分频数:0~7(只有低3位有效!) //分频因子=4*2^prer.但最大值只能是256! //rlr: ...
- 【STM32】独立看门狗
00. 目录 文章目录 00. 目录 01. IWDG简介 02. IWDG主要特性 03. IWDG功能说明 04. IWDG框图 05. IWDG寄存器 5.1 关键字寄存器 (IWDG_KR) ...
- STM32: IWDG独立看门狗
IWDG STM32 有两个看门狗,一个是独立看门狗另外一个是窗口看门狗,IWDG号称宠物狗,WWDG号称警犬,独立看门狗用通俗一点的话来解释就是一个 12 位的递减计数器,当计数器的值从某个值一直减 ...
- proteus里面没有stm32怎么办_学习STM32日志——独立看门狗实验(20.06.23)
继续更新学习STM32的历程,今天学习看门狗. 在单片机构成的微型计算机系统中,单片机的工作时常收到外界电磁场的干扰,导致程序跑飞,陷入死循环.为了解决这个问题,产生了一种用于监测单片机程序运行状态的 ...
- STM32中的看门狗
先复制一段度娘的东西: 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个 ...
- 【STM32】独立看门狗程序
00. 目录 文章目录 00. 目录 01. 独立看门狗简介 02. 程序功能示例 03. 硬件设计 04. 编程步骤 05. 程序示例 06. 附录 07. 声明 01. 独立看门狗简介 STM32 ...
最新文章
- GAN网络生成:感知损失(Perceptual Losses)
- dlp防泄密系统卸载_浙江好用的企业图纸防泄密软件推荐,局域网内部图纸透明加密方案...
- laravel 队列queue
- ‘a’、“a”、‘abc’和“abc”的区别
- OpenGL实现flocking (聚集)实例
- 15什么时候你最想打人
- oracle ldap 配置,Ubuntu安装OpenLDAP之配置LDAP
- python获取html文本框内容_Python3处理HTML获取所需内容
- 96.不同的二叉搜索树(JavaScript)
- 动态RAM的集中刷新、分散刷新、异步刷新
- SAP License:MM模块审批策略问题
- 如何正确认识大数据技术
- php macro,如何利用 macro 方法来扩展 Laravel 的基础类的功能
- 系列文章--SharePoint 2013 开发教程
- 思维导图案例之VeritasDCG
- 确定有限状态自动机(deterministic finite automaton --> DFA)
- 转载--给函数取个好名
- atan和tan什么的差别,数学不好的人要去死啊
- win10在此计算机上找不到系统映像,大神分析win10系统使用DISM修复找不到源的具体步骤...
- OpenGL入门第六次实验 纹理映射
热门文章
- 多目标优化算法:多目标人工兔优化算法(Multi-Objective Artificial Rabbits Optimization ,MOARO)
- 《见识》最后一章:巴菲特午餐:人生的智慧
- java 实现 内存池_从连接池到内存池
- EduCoder-Linux与Python编程2021(Python知识训练)- 序列结构
- Jsp查看编码进行转换
- 使用 DMV 进行监视_监视资源使用情况(2)_针对 Azure SQL 数据库和 Azure SQL 托管实例进行手动性能优化
- 手机页面漂浮广告 html,网站底部漂浮广告电脑手机自适应代码纯CSS
- 自己做量化交易软件(41)小白量化实战14--美国17年周期蝉与指标参数设计技巧
- 【Python爬虫】requests库
- emwin的模拟器配置