[STM32F4] 硬件看门狗误触发

[复制链接]
971|19
 楼主| Jacquetry 发表于 2025-3-24 08:09 来自手机 | 显示全部楼层 |阅读模式
在程序正常运行期间,未修改喂狗定时器配置,但设备偶尔发生看门狗复位,复位后程序重新初始化。
elephant00 发表于 2025-3-24 15:59 | 显示全部楼层
程序在执行过程中可能遇到了死循环、异常中断处理、资源竞争等问题,导致无法按时执行到喂狗代码。
lidi911 发表于 2025-3-24 16:26 来自手机 | 显示全部楼层
描述和问题不对应,看门狗定时器配置了还要动态修改。
两只袜子 发表于 2025-3-24 19:20 | 显示全部楼层
看门狗定时器的重载值设置得过短,使得程序在正常执行过程中偶尔的延迟会导致看门狗超时。
两只袜子 发表于 2025-3-24 20:09 | 显示全部楼层
可能与电磁干扰、电源波动有关!
jcky001 发表于 2025-3-24 21:23 | 显示全部楼层
程序本身可能存在缺陷。
cr315 发表于 2025-3-24 22:00 | 显示全部楼层
优化程序结构,减少不必要的延迟和等待。
laocuo1142 发表于 2025-3-25 16:00 | 显示全部楼层
检查设备的硬件连接和布线有没有电磁干扰和电源波动等问题。
Wordsworth 发表于 2025-3-26 08:18 | 显示全部楼层
供电电压稳定吗?如果电源瞬间跌落,可能会导致 IWDG 计时异常,从而触发复位。
Bblythe 发表于 2025-3-26 08:20 | 显示全部楼层
试试降低看门狗的触发时间,看看问题是否更频繁发生,这样可以更快定位问题点。
Pulitzer 发表于 2025-3-26 08:21 | 显示全部楼层
设备复位后,RCC_CSR 里的 IWDGRSTF 复位标志可以确认是否确实是 IWDG 触发的复位。
Uriah 发表于 2025-3-26 08:21 | 显示全部楼层
有没有可能是程序跑飞导致喂狗失败?检查一下是否有野指针或溢出的问题。
Clyde011 发表于 2025-3-26 08:22 | 显示全部楼层
如果是偶发性的,建议在 IWDG 触发前加一个外部存储(如 EEPROM 或 Flash)记录状态,看看复位前发生了什么。
公羊子丹 发表于 2025-3-26 08:23 | 显示全部楼层
可能是你的喂狗代码在某些情况下没有被正确执行,检查一下是否有任务阻塞或优先级问题。
周半梅 发表于 2025-3-26 08:24 | 显示全部楼层
你的喂狗定时器喂狗周期是多长?如果 CPU 偶尔执行了较长的任务,可能会导致看门狗超时复位。
帛灿灿 发表于 2025-3-26 08:25 | 显示全部楼层
试试加个日志,在喂狗的地方记录时间戳,看看复位前是不是有某个操作导致喂狗失败。
童雨竹 发表于 2025-3-26 08:26 | 显示全部楼层
硬件看门狗(IWDG)是独立运行的,检查一下主循环或者中断处理是否有异常,导致喂狗没执行。
万图 发表于 2025-3-26 08:27 | 显示全部楼层
你有没有开启 STOP 或 SLEEP 低功耗模式?某些低功耗模式可能会影响 IWDG。
过期的塔头 发表于 2025-3-31 23:05 | 显示全部楼层
程序的某些部分可能由于意外的延时、死循环、硬件中断导致看门狗定时器未被及时重装载。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

109

主题

1764

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部