2023版 STM32实战8 独立看门狗(IWDG)

 

IWDG简介

 

STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障。

 

说人话就是能解决程序跑飞的问题。

 

 

编写代码思路

 

-1- 使用这个功能必须解除写保护
-2- IWDG使用的是低速内部时钟 (LSI

 

 

 -3- 分频系数和定时时间

 

 

 

代码编写(可直接拷贝使用)

 

复制代码
#include "stm32f10x.h"
#include "usart.h"
#include "delay.h"

void IWDG_CFG(void)
{
    
    //判断是不是独立看门狗复位
    if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)
    {
        printf("IwDG RESET\r\n");
        RCC_ClearFlag();
        
    }
    
    
    //打开低速内部时钟
    RCC_LSICmd(ENABLE);
    //等待时钟平稳
    while (RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET);
    //打开写保护
    IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
    //设置分频
    IWDG_SetPrescaler(IWDG_Prescaler_32);
    //设置重装值
    IWDG_SetReload(128);
    //喂一次狗
    IWDG_ReloadCounter();
    //开启看门狗
    IWDG_Enable();

}


 int main(void)
 {    
    delay_init();
    uart_init(115200);
    IWDG_CFG();
    while(1)
    {
        delay_ms(110);
        IWDG_ReloadCounter();
    }        
    
    
    
 }
复制代码

 

工程获取

三连加关注后点击头像获取

 

posted @   日落悬崖  阅读(79)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示