[开发资料]

怎么用IWDG

[复制链接]
525|42
手机看帖
扫描二维码
随时随地手机跟帖
forgot|  楼主 | 2024-3-15 08:45 | 显示全部楼层 |阅读模式
独立看门狗一般用来检测和解决由程序引起的故障,比如一个程序正常运行的时间是50ms, 在运行完这个段程序之后紧接着进行喂狗,我们设置独立看门狗的定时溢出时间为60ms,比我们需要监控的程序50ms多一点, 如果超过60ms还没有喂狗,那就说明我们监控的程序出故障了,跑飞了,那么就会产生系统复位,让程序重新运行。

使用特权

评论回复
yangxiaor520| | 2024-3-15 21:03 | 显示全部楼层
内部狗加外部硬件狗双模式

使用特权

评论回复
独立看门狗检测的稳定机制是什么?

使用特权

评论回复
看门狗是不是就是让系统复位的一种操作

使用特权

评论回复
中国龙芯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 | 显示全部楼层
及时喂狗,否则复位

使用特权

评论回复
评论
forgot 2024-3-26 08:44 回复TA
是的 
看门狗其实就是自动复位处理异常的一种手段

使用特权

评论回复
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时,你才能更新重装载寄存器和预分频寄存器。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1408

主题

11423

帖子

51

粉丝