【STM32】详解独立看门狗的本质和使用步骤&代码

本文详细介绍了STM32中的独立看门狗(IWDG)原理及使用方法。包括独立看门狗的工作机制、配置流程、寄存器设置等,并提供了具体的初始化示例代码。

一、看门狗

1、介绍

作为一个检测装置,发生意外情况能够报告并处理突发意外——复位。
复位中断属于不可屏蔽中断,属于优先级最高的中断

2、作用

两个看门狗(独立看门狗和窗口看门狗)均可用于检测并解决由软件错误导致的故障(程序跑飞);当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位。

3、窗口看门狗

指定程序段执行一定的时间范围内时,窗口看门狗能够再设置好后进行监督。

二、独立看门狗

1、独立看门狗(IWDG)的本质

独立看门狗的工作独立于主程序,但是它能监督主程序。本质是一个递减计数器,由LSI提供时钟驱动。设置一个看门的计时时间(计数脉冲个数),看门狗会开始倒计时,看门狗计数器倒计数到0,系统复位。
以上前提如何实现监督呢?
让正常运行的主程序定时喂狗——重置看门计数器的值。
如果主程序跑飞/崩溃,没有人喂狗,看门狗就会倒计时到0,直接复位。

2、流程

启动看门狗:对密钥寄存器(IWDG_KR)写入0xCCCC
重载计数器,避免看门狗复位(喂狗):对密钥寄存器(IWDG_KR)写入0xAAAA
IWDG_PR和IWDG_RLR寄存器具有写保护,若要修改寄存器,则对密钥寄存器(IWDG_KR)写入0x5555

3、独立看门狗框图

在这里插入图片描述
IWDG_PR分频系数选择:
在这里插入图片描述

4、独立看门狗的使用

需要控制的寄存器有:

  1. 键值寄存器IWDG_KR: 0~15位有效
  2. 预分频寄存器IWDG_PR:0~2位有效。具有写保护功能,要操作先取消写保护
  3. 重装载寄存器IWDG_RLR:0~11位有效。具有写保护功能,要操作先取消写保护。
  4. 状态寄存器IWDG_SR:0~1位有效

IWDG独立看门狗操作库函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

楠山书院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值