Stm32学习之看门狗

本文介绍了STM32的看门狗功能,主要用于防止程序跑飞和MCU死机。详细阐述了独立看门狗和窗口看门狗的工作原理、配置流程以及超时时间计算。独立看门狗的配置包括取消写保护、设置预分频系数和重装载值、使能等步骤,而窗口看门狗则增加了设置时间窗口和中断功能。
摘要由CSDN通过智能技术生成

看门狗:本质上可以看成是一个定时器电路,一般就是分为输入和输出两部分,输入我们俗称“喂狗”,输出可以直接理解为复位,或者大家熟悉的重启。

使用看门狗时,当MCU正常工作时,我们就会定期喂狗,如果超过预先设置好的时间没有喂狗,看门狗电路没有及时清零,就会跳转到我们所谓的输出部分,也就是回馈一个复位信号给MCU,复位MCU。

主要是用于防止程序跑飞,或者MCU死机。(重启大法好)

基本工作原理:在系统运行之后启动看门狗的计数器,看门狗开始自动计数,如果到达预先设置好的时间还没有及时重新赋值,那么看门狗的计数器就会溢出,引起看门狗中断,导致系统复位。

 

stm32 独立看门狗的配置流程:

1.取消寄存器写保护:
IWDG_WriteAccessCmd();
2.设置独立看门狗的预分频系数,确定时钟:
IWDG_SetPrescaler();
3.设置看门狗重装载值,确定溢出时间:
IWDG_SetReload();
4. 使能看门狗
IWDG_Enable();
5. 应用程序喂狗:
IWDG_ReloadCounter();

溢出时间计算:
Tout=((4×2^prer) ×rlr) /40 (M3)
其中 :
Tout 为看门狗溢出时间(单位为 ms);
prer 为看门狗时钟预分频值(IWDG_PR 值),范围为 0~7;
rlr 为看门狗的重装载值(IWDG_RLR 的值&#x

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值