STM32F4_独立看门狗详解(IWDG)

独立看门狗IWDG是STM32中用于监控程序运行状态的模块,防止因干扰导致程序跑飞。它由LSI低速时钟驱动,即使主时钟故障仍能工作。主要特性包括自由运行的递减计数器、独立RC振荡器和复位功能。配置过程涉及取消写保护、设置预分频系数和重装载值、喂狗以及启动看门狗。实验程序展示了如何通过按键喂狗,防止超时复位。

目录

1. 独立看门狗是什么

2. 独立看门狗 IWDG简介

3. 独立看门狗的主要特性

4. 独立看门狗功能

4.1 独立看门狗功能框图

4.2  IWDG寄存器

4.2.1 关键字寄存器 IWDG_KR

4.2.2 预分频器寄存器 IWDG_PR

4.2.3 重载寄存器 IWDG_RLR

4.2.4 状态寄存器 IWDG_SR

5. 库函数配置独立看门狗

6. 相关实验程序

6.1 main.c

6.2 iwdg.c

6.3 iwdg.h


1. 独立看门狗是什么

        在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界的电磁波干扰,造成程序的跑飞,从而陷入到死循环,程序的正常运行被打断,由单片机控制的系统无法继续正常工作,会造成整个系统陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”。

        STM32板载了两种嵌入式看门狗外设,具有安全性高、定时精准及使用灵活的优点。看门狗分为独立看门狗窗户看门狗均可用于检测并解决由于软件错误导致的故障。本章我们着重讲解独立看门狗。

2. 独立看门狗 IWDG简介

        看门狗的作用就是在一定的时间内  (这段时间通过定时器去实现)  ,如果超过这段时间还没有被喂养信号(表MCU已经挂了),便启动处理器的自动复位重启(发送复位信号)。

        独立看门狗由其专用的低速内部时钟LSI驱动,通过对时钟的学习,我们知道LSI低速内部时钟是专门用来驱动看门狗的,独立看门狗由内部专门的32Khz低速时钟驱动,即使主时钟发生故障,它也仍然有效。独立看门狗的时钟是一个内部RC时钟,所以并不是准确的32Khz,而是一个在15~47Khz之间的可变化的时钟。

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

        硬件看门狗:如果通过器件选项位使能 “硬件看门狗” 功能,上电时将自动使能看门狗;如果在计数器计数结束前,若软件没有向关键字寄存器写入相应的值,则系统会产生复位。

3. 独立看门狗的主要特性

1. 自由运行的递减计数器   用于给定一段确定的时间,如果程序运行超过这段时间,表明MCU已经挂了

2. 时钟由独立RC振荡器提供(可在待机和停止模式下运行)  低速内部时钟LSI,主时钟发生故障时,LSI 仍然保持工作状态

3. 当递减计数器达到0x000时产生复位(前提是看门狗已激活)    递减定时器递减到0时,复位为初始值,循环工作

4. 独立看门狗功能

4.1 独立看门狗功能框图

4.2  IWDG寄存器

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值