STM32F103看门狗在需要低功耗的电池供电产品中如何应用
STM32系列MCU内部具有独立看门狗(IWDG)和窗口看门狗(WWDG),它们的差别如下看门狗开启之后通过软件无法关闭网上有很多教程说通过系统复位后不再去初始化看门狗就可以了虽然此方法可行但总觉得有点多此一举既然都要通过复位去关闭看门狗了还不如直接不开启看门狗。独立看门狗不适用于要进入低功耗的产品原因是其使用的时钟源为内部40KHz低速时钟在进入低功耗STOP模式下该时钟还是保持工作进入低功耗后无法执行喂狗行为导致复位事件发生当然也有解决办法通过RTC定时唤醒然后进行喂狗行为就可以了但是这样程序变复杂了功耗增加了而且还存在逻辑隐患当刚好RTC唤醒喂狗行为与用户开启工作的中断唤醒行为在同一时间段执行时需要做很多判断去避免程序逻辑问题。但其也并不是一无是处在市电产品或者长期接电源无需进入低功耗的产品中用起来就非常方便因为其配置简单喂狗的时间周期可以较长所以可以将喂狗行为放在扫描时间较长的主循环里执行。使用STM32CUBEMX配置独立看门狗的方法如下其超时周期计算方式如下40KHz/64分频625Hz使用625Hz进行1250次计数其周期则为 1/625*12502秒对应生成的Keil程序如下调用方法也很简单在main函数中进行初始化然后在while主循环中进行喂狗即可而窗口看门狗刚好就适用于低功耗产品因为其时钟使用的是APB1总线时钟当进入低功耗后该时钟会停止则窗口看门狗也会停止计数其使用STM32CUBEMX配置的过程如下其超时周期计算方式如下APB1固定4096倍分频后再由用户自己配置其时钟再分频系数以及计数值我的APB1总线时钟为32MHz,进行4096倍分频和8倍再分频后每一个计数值周期为1/(32000000/4096/8)1.024ms,计数值的配置主要为了设置喂狗上、下值限制在限制范围内则称为允许喂狗窗口提早喂狗或者超时喂狗或者不喂狗都将导致系统复位其配置参数包括以下两个1). 计数初值只能配置126或者127然后开启窗口看门狗后它会从这个初值开始累减喂狗后恢复初值2). 窗口值窗口下限默认为64而窗口上限在64到127之间由用户自行配置如我图中所配置的参数则窗口看门狗会从127开始每1.024ms递减一次递减到64~126区间内可以进行正常喂狗若开启后立马喂狗或者递减到小于64之后再喂狗都会触发复位。窗口看门狗在Keil中的使用方法如下在main函数中进行初始化喂狗行为则在1ms定时器中断进行为什么这样做呢因为while主循环里面会有大量程序需要扫描处理也可能存在一些delay函数所以时间无法准确判断且执行到一些程序若存在delay函数容易导致喂狗超时而放在1ms定时器中断里面我们不会把delay函数放在中断内去执行这里程序我累加超过10次即10ms而我的看门狗递减10次时间为10*1.024ms,还是落在64~126的窗口值内可以比较准确把控时间。然后在进入低功耗之前我们要把1ms定时器关闭靠近进入低功耗的程序执行因为如果提前关闭ms定时器则不再喂狗此时若不快速进入低功耗使得APB1时钟停止的话窗口看门狗还在不断递减最终会导致复位。然后我的产品是使用按键触发外部中断进行唤醒我就把1ms定时器开启直接放在外部中断里面开启这样可以确保唤醒后及时喂狗

相关新闻

智慧校园IoT落地:智能锁身份核验+通断电联动,解决校园安全与运维痛点

智慧校园IoT落地:智能锁身份核验+通断电联动,解决校园安全与运维痛点

在智慧校园精细化建设进程中,学生宿舍、教学楼、实训功能房的人员安防、通行管控、用电安全及后勤运维,始终是高校管理的重难点场景。传统机械锁、普通门禁模式存在明显短板:身份核验粗放、无法精准绑定学生信息,开门方式单一依赖…

2026/10/19 2:15:20 阅读更多 →
物联网解决方案:民宿/网约房人证核验+远程授权,破解合规与运维痛点

物联网解决方案:民宿/网约房人证核验+远程授权,破解合规与运维痛点

随着国内住宿行业监管体系持续完善,民宿、网约房等分散式共享住宿业态,正式进入强合规、精细化、无人化管理阶段。传统人工登记、机械锁、静态密码锁的管理模式,存在身份核验缺失、安全溯源空白、人工运维成本高、权限管控混乱等诸多顽疾&…

2026/10/17 15:39:24 阅读更多 →
KoboldCPP终极指南:3步零配置部署本地AI,免费运行GGUF模型

KoboldCPP终极指南:3步零配置部署本地AI,免费运行GGUF模型

KoboldCPP终极指南:3步零配置部署本地AI,免费运行GGUF模型 【免费下载链接】koboldcpp Run GGUF models easily with a KoboldAI UI. One File. Zero Install. 项目地址: https://gitcode.com/gh_mirrors/ko/koboldcpp 想在自己的电脑上运行强大的…

2026/10/17 15:53:05 阅读更多 →

最新新闻

图算法中的剪枝与启发式策略优化研究3

图算法中的剪枝与启发式策略优化研究3

图算法中的剪枝与启发式策略优化研究在复杂图结构的搜索与分析任务中,传统图算法往往面临计算资源消耗大、时间效率低等挑战。为应对这些问题,剪枝技术与启发式策略的结合成为提升算法性能的关键手段。通过合理设计剪枝条件与启发函数,可在保…

2026/10/19 2:15:33 阅读更多 →
AI搜索内容布局:大模型引用来源的优先级如何判断,企业怎样提升可识别性

AI搜索内容布局:大模型引用来源的优先级如何判断,企业怎样提升可识别性

做品牌搜索复盘时,常见一种困惑:自家文章写得更详细,回答里却引用了别处的短文。问题往往不在“文章够不够长”,而在于系统能否找到与问题直接相关、信息清楚且可核验的来源。大模型引用内容没有一张适用于所有问题的固定排行榜&a…

2026/10/19 2:15:33 阅读更多 →
Python基础复习笔记-快速过(适合有基础的学习者)

Python基础复习笔记-快速过(适合有基础的学习者)

Python 基础复习全笔记:从变量到函数,一篇把基础复习一遍适合人群:已经摸过 Python、想系统回顾一遍基础的同学。 本文把我自己复习基础时写的练习代码整理成了一份笔记,从变量、数据类型、运算符,一路到容器和函数。所…

2026/10/19 2:15:33 阅读更多 →
Python读取PLC数据实战:Modbus TCP全解析与踩坑总结

Python读取PLC数据实战:Modbus TCP全解析与踩坑总结

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:15:33 阅读更多 →
ATECC608A硬件加密芯片实战:从选型到I2C驱动与密钥安全设计

ATECC608A硬件加密芯片实战:从选型到I2C驱动与密钥安全设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:15:33 阅读更多 →
Provider 不属于 Agent 核心:rpi 的分层理由与收益

Provider 不属于 Agent 核心:rpi 的分层理由与收益

先把项目定位说清楚,否则"为什么这样分层"没有判断依据。 rpi 是一个 Rust 原生的 coding-agent runtime,加一个建立在它之上的终端 agent。九个 crate 覆盖 provider 适配、可恢复的 agent 循环、工具、会话持久化、终端界面和一套稳定的插件…

2026/10/19 2:14:32 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →