[开发资料] 怎么用IWDG

[复制链接]
3734|47
 楼主| forgot 发表于 2024-3-15 08:45 | 显示全部楼层 |阅读模式
独立看门狗一般用来检测和解决由程序引起的故障,比如一个程序正常运行的时间是50ms, 在运行完这个段程序之后紧接着进行喂狗,我们设置独立看门狗的定时溢出时间为60ms,比我们需要监控的程序50ms多一点, 如果超过60ms还没有喂狗,那就说明我们监控的程序出故障了,跑飞了,那么就会产生系统复位,让程序重新运行。
yangxiaor520 发表于 2024-3-15 21:03 来自手机 | 显示全部楼层
内部狗加外部硬件狗双模式
小小蚂蚁举千斤 发表于 2024-3-19 08:52 | 显示全部楼层
独立看门狗检测的稳定机制是什么?
小夏天的大西瓜 发表于 2024-3-19 16:16 | 显示全部楼层
看门狗是不是就是让系统复位的一种操作
中国龙芯CDX 发表于 2024-3-21 15:00 | 显示全部楼层
喂狗过程一定要及时,避免发生问题
jf101 发表于 2024-3-22 12:16 | 显示全部楼层
系统规避错误方式有很多,一般就是使用使用看门狗
再见十分钟 发表于 2024-3-25 09:40 | 显示全部楼层
看门狗用得不好,反而程序会异常复位
小暖 发表于 2024-3-25 09:41 | 显示全部楼层
记得及时喂狗
szt1993 发表于 2024-3-25 15:04 | 显示全部楼层
看门狗其实就是自动复位的一种手段
普通话补丁 发表于 2024-3-26 08:33 | 显示全部楼层
经常用独立看门狗
leslietian 发表于 2024-3-26 08:38 | 显示全部楼层
及时喂狗,否则复位

评论

是的  发表于 2024-3-26 08:44
星辰大海不退缩 发表于 2024-4-21 13:52 | 显示全部楼层
看门狗其实就是自动复位处理异常的一种手段
1988020566 发表于 2024-5-1 20:15 | 显示全部楼层
需要配置IWDG的预分频器和计数器重装载值。预分频器决定了IWDG计数器的时钟频率,而重装载值则设置了计数器计数的上限。
kmzuaz 发表于 2024-5-2 15:06 | 显示全部楼层
IWDG的计数器可以在待机和停止模式下运行,保证了即使在低功耗模式下也能监控系统状态。
linfelix 发表于 2024-5-2 16:45 | 显示全部楼层
在程序运行中,必须在IWDG的超时时间之前刷新它,防止它触发复位。通常,这可以通过写入特定的寄存器来完成。
juliestephen 发表于 2024-5-2 20:37 | 显示全部楼层
通过向键寄存器(IWDG_KR)写入特定的启动值(如0xCCCC)来启动看门狗。一旦启动,它将开始倒计时。
olivem55arlowe 发表于 2024-5-3 09:40 | 显示全部楼层
在使用IWDG之前,需要对其进行初始化。这通常包括重置IWDG计数器和配置相关的寄存器。
jonas222 发表于 2024-5-3 12:42 | 显示全部楼层
喂狗代码通常简单地将重载值写入IWDG的KR(Key Register)寄存器
uiint 发表于 2024-5-3 15:45 | 显示全部楼层
选择预分频器值,该值决定了IWDG时钟的频率。常见的预分频器值有4、8、16、32、64、128、256。
根据需要的看门狗超时时间计算重载值。超时时间 = (预分频器值) * (重载值) / (LSI时钟频率)。
启用IWDG,并配置重载寄存器(IWDG_RLR)。
janewood 发表于 2024-5-4 13:18 | 显示全部楼层
IWDG的状态可以通过状态寄存器(Status Register)来查询。状态寄存器中有两个重要标志位:PVU(预分频值更新)和RVU(重装载值更新)。这两个标志位由硬件自动设置和清除,表明预分频值和重装载值更新的状态。
只有在RVU和PVU都为0时,你才能更新重装载寄存器和预分频寄存器。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2112

主题

14683

帖子

59

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