news 2026/2/25 18:17:02

STM32_IWDG

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
STM32_IWDG
简介

IWDG(Independent Watchdog,独立看门狗)是 STM32 单片机中用于监测系统运行状态的外设,可防止程序跑飞或死循环。STM32F407 系列芯片配备了 1 个 IWDG,具有独立的 32kHz 低速振荡器(LSI),即使在主时钟失效的情况下也能正常工作,广泛应用于需要高可靠性监测的场景。本文从 IWDG 的基本原理出发,详细讲解 STM32F407 IWDG 的配置方法、代码实现、计数器管理以及实际应用案例,帮助你快速掌握 IWDG 的使用技巧。

一、IWDG核心概念与分类
1.1 基本概念

IWDG 是一个基于计数器的看门狗,其主要特点包括:

  • 独立时钟:使用 LSI(32kHz 低速振荡器),不受主时钟影响
  • 12 位计数器:支持 12 位递减计数器
  • 可配置参数:可配置预分频系数、重装载值等
  • 硬件复位:计数器归零时自动复位系统
  • 独立运行:独立于主时钟,主时钟失效时仍可正常工作

关键参数

  • 预分频系数:4、8、16、32、64、128、256
  • 重装载值:12 位,范围 0x000-0xFFF
  • 超时时间:由预分频系数和重装载值决定
1.2 STM32F407 的 IWDG 资源

STM32F407 系统芯片配备了 1 个 IWDG:

功能特性
计数器12 位递减计数器
时钟源LSI(32kHz)
预分频系数4、8、16、32、64、128、256
重装载值12 位,范围 0x000-0xFFF

关键特性

  • 支持 12 位递减计数器
  • 支持可配置的预分频系数
  • 支持硬件复位
  • 独立于主时钟
二、IWDG工作原理
2.1 基本工作原理

IWDG 的基本工作原理是通过计数器递减来监测系统运行状态。

工作流程

  1. IWDG 计数器从重装载值开始递减
  2. 在计数器归零之前喂狗,计数器重新加载重装载值
  3. 如果计数器归零,系统复位
2.2 超时时间计算

IWDG 的超时时间由预分频系数和重装载值决定。

计算公式
超时时间 = (预分频系数 / LSI频率) × 重装载值

示例

  • LSI 频率:32kHz
  • 预分频系数:256
  • 重装载值:0xFFF(4095)
  • 超时时间 = (256 / 32000) × 4095 = 32.76 秒
三、IWDG配置与代码实现
3.1 标准库配置步骤

使用标准库配置 IWDG 的基本步骤:

  1. 使能 LSI 时钟
  2. 等待 LSI 就绪
  3. 配置 IWDG 基本参数
  4. 使能 IWDG
3.2 代码实现(IWDG,超时时间 1 秒)
#include"stm32f4xx.h"#defineIWDG_PRESCALER64#
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/23 4:26:05

告别语言障碍:游戏本地化工具让Honey Select 2体验焕新

告别语言障碍:游戏本地化工具让Honey Select 2体验焕新 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 还在为Honey Select 2游戏中的日文界面而头疼…

作者头像 李华
网站建设 2026/2/24 6:21:59

安卓文件转换工具新手必知:XAPK转APK完全指南

安卓文件转换工具新手必知:XAPK转APK完全指南 【免费下载链接】xapk-to-apk A simple standalone python script that converts .xapk file into a normal universal .apk file 项目地址: https://gitcode.com/gh_mirrors/xa/xapk-to-apk 你是否遇到过下载安…

作者头像 李华
网站建设 2026/2/24 4:08:29

PyTorch-2.x-Universal-Dev-v1.0真实案例:快速完成数据清洗

PyTorch-2.x-Universal-Dev-v1.0真实案例:快速完成数据清洗 1. 为什么数据清洗是模型训练前最关键的一步 你有没有遇到过这样的情况:花了一整天调参,模型却始终不收敛;或者训练结果看起来不错,但一到真实数据上就完全…

作者头像 李华
网站建设 2026/2/19 16:39:52

3个革命性的英雄联盟智能辅助功能:从新手到高手的全面体验升级

3个革命性的英雄联盟智能辅助功能:从新手到高手的全面体验升级 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 核心价…

作者头像 李华
网站建设 2026/2/25 1:06:58

SenseVoice Small企业私有化部署教程:内网隔离环境下的稳定运行方案

SenseVoice Small企业私有化部署教程:内网隔离环境下的稳定运行方案 1. 为什么企业需要私有化部署SenseVoice Small 很多团队在尝试用SenseVoice Small做语音转写时,第一反应是“这模型真快”,但很快就会卡在部署环节:报错No mo…

作者头像 李华