你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L433单片机如何在调试的时候关闭看门狗

[复制链接]
星海灿烂 提问时间:2025-6-3 13:41 / 已解决

背景:在STM32L433单片机上使能了看门狗,但是不能像STM32F103那样配置调试时关闭看门狗

STM32F103配置如何:

__HAL_DBGMCU_FREEZE_IWDG(); // 在调试单步时,独立看门狗iwdg暂停 The independent watchdog counter clock is stopped when the core is halted __HAL_DBGMCU_FREEZE_WWDG(); //窗口狗也暂停

问题:STM32L433要如何配置

收藏 评论6 发布时间:2025-6-3 13:41

举报

6个回答
xmshao 最优答案 回答时间:昨天 14:27
STM32L4系列的IWDG和WWDG在调试状态下的计数动作是可以单独控制的,


由DBGMCU_APB1FZR1寄存器的第11位和第12位控制。


相应库函数有:


__HAL_DBGMCU_FREEZE_WWDG();


__HAL_DBGMCU_FREEZE_IWDG() ;


运行上面代码后,APB1FZR1寄存器的第11位和第12位会被置1,你可以通过SFR寄存器查看确认。


此后,在调试状态下当CPU停止执行指令时看门狗也会停止计数;


你似乎在说,只是调用了__HAL_DBGMCU_FREEZE_IWDG() ;但在CPU暂停执行


指令时WWDG也受到了影响,若是这样的话,你可以确认下DBGMCU_APB1FZR1寄存器的第11位是否也


被置1了,若该位是1,此时你可以使用__HAL_DBGMCU_UNFREEZE_WWDG();将WWDG控制位清零。


我这边实际验证过了,是可以单独控制的。
butterflyspring 回答时间:昨天 09:57
从手册上看,调试的寄存器倒是有这一位。
不过通常习惯做法都是调试时关闭看门狗来调试,基本没用过这个方式。
调试好了再打开看门狗做验证的。




stm32l4 dbg iwdg stop.PNG

星海灿烂 回答时间:昨天 15:19

butterflyspring 发表于 2025-6-4 09:57
从手册上看,调试的寄存器倒是有这一位。
不过通常习惯做法都是调试时关闭看门狗来调试,基本没用过这个方 ...

好的,多谢大佬

星海灿烂 回答时间:昨天 15:19

xmshao 发表于 2025-6-4 14:27
STM32L4系列的IWDG和WWDG在调试状态下的计数动作是可以单独控制的,</p>
<p>

STM32L433VCT6的HAL库没有__HAL_DBGMCU_FREEZE_IWDG() ;这个函数

xmshao 回答时间:昨天 16:10

星海灿烂 发表于 2025-6-4 15:19
STM32L433VCT6的HAL库没有__HAL_DBGMCU_FREEZE_IWDG() ;这个函数

或许版本差异吧,我刚才就是直接从库里拿过来用的。

有没有也不重要,自己依葫芦画瓢写一个也一样。

星海灿烂 回答时间:昨天 16:47

xmshao 发表于 2025-6-4 16:10
或许版本差异吧,我刚才就是直接从库里拿过来用的。</p>
<p>有没有也不重要,自己依葫芦画瓢写一个也一样。 ...

[md]好的,多谢大佬

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版