forgot 发表于 2024-3-15 08:45

怎么用IWDG

独立看门狗一般用来检测和解决由程序引起的故障,比如一个程序正常运行的时间是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-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时,你才能更新重装载寄存器和预分频寄存器。
页: [1] 2
查看完整版本: 怎么用IWDG