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笔记(七)WWDG窗口看门狗
下一篇:STM32F1笔记(四)NVIC中断优先级管理
推荐阅读最新更新时间:2024-11-07 10:17
设计资源 培训 开发板 精华推荐
- 使用 RP40-4812SFR DC/DC 转换器并根据 EN55022 A 类(单输出)进行 EMC 滤波的典型应用
- 使用 Analog Devices 的 LTC3208 的参考设计
- LT3508EFE、具有 3.3V 和 5V 输出的双通道 1.4A 单片式降压转换器
- 使用 Analog Devices 的 LT1317CS8 的参考设计
- LTC2327-16、16 位、500ksps 真双极性、伪差分输入 ADC 的典型应用
- 赛博朋克nfc卡片挂件
- AM2S-4803SH30Z 3.3V 2瓦直流转直流转换器的典型应用
- PM2.5 模组
- NCP301LSN45T1 4.5V 窗口电压检测器的典型应用
- LTC3851AEMSE-1 高效 3.3V/15A 降压转换器的典型应用电路
- TMS320F28377S LaunchPad俱乐部已成立,让我们一起见证它高性能的魅力!
- 全球首款Cortex-M23内核物联网芯片SAML10和SAM L11系列 闯关获取SAML10/SAML11法宝,拆除电子界安全危机,赢好礼!
- 下载《TI MCU与无线连接技术研讨会讲座实录》更多惊喜等着你!
- 感谢有你,感恩龙年,EEWORLD陪你一起“闹”龙年!
- 好消息!返现+抽奖,双重好礼助力openmv技术学习!
- 有奖征文:邀一线汽车VCU/MCU开发工程师,分享开发经验、难题、成长之路等
- 挑战极限,你敢看吗?下载文档+观看视频,了解航空和政府应用解决方案
- 有奖直播:远近皆宜的无线连接方案 3月25日(周四)上午10:00 邀您观看!
- 抢先体验:恩智浦最新LPC1500开发板,速来!