硬汉嵌入式论坛

 找回密码
 立即注册
查看: 486|回复: 5
收起左侧

[客户分享] stm32G4的iwdg独立看门狗的“窗口看门狗”设置,不能乱设

[复制链接]

334

主题

2032

回帖

3039

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3039
发表于 2023-6-26 15:16:11 | 显示全部楼层 |阅读模式
本帖最后由 caicaptain2 于 2023-6-26 15:17 编辑

标题很绕口,但是就是这么个意思。 而且csdn上很难找到G4系列的案例分享。

G4系列的独立看门狗除了事项常规的看门狗功能,还可以同时配置为窗口看门狗。
比如常规使用cubemx生成一个看门狗初始化函数:
[C] 纯文本查看 复制代码
void MX_IWDG_Init(void)
{
hiwdg.Instance = IWDG;
  hiwdg.Init.Prescaler = IWDG_PRESCALER_64;
  hiwdg.Init.Window = 2048;
  hiwdg.Init.Reload = 4095;
  if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
  {
    Error_Handler();
  }
}


这个看门狗的常规用法是,分频64,计数4095,大概是8秒钟后,看门狗计数减为0,然后系统复位。
窗口看门狗的意思是,喂狗(refresh idwg)的这个时刻,如果看门狗计数值为3000,而窗口设定为2048,这就喂早了,然后系统复位。

通俗的讲,如果设定了窗口看门狗的数值,喂早了,喂频繁了,狗撑死了,系统复位。

所以,hiwdg.Init.Window这个数值不能设置太小。如果不使用窗口功能,那么就设置最大值4095. 避免频繁喂狗,反而造成系统复位。

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2023-6-27 08:26:13 | 显示全部楼层
G4的独立看门狗将之前F4那种独立+窗口看门狗两个外设合并了?
回复

使用道具 举报

334

主题

2032

回帖

3039

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3039
 楼主| 发表于 2023-6-27 08:31:03 | 显示全部楼层
eric2013 发表于 2023-6-27 08:26
G4的独立看门狗将之前F4那种独立+窗口看门狗两个外设合并了?

不是合并,是扩展。 独立看门狗加了这么个窗口功能。
另一个窗口看门狗还在。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2023-6-27 08:48:39 | 显示全部楼层
caicaptain2 发表于 2023-6-27 08:31
不是合并,是扩展。 独立看门狗加了这么个窗口功能。
另一个窗口看门狗还在。

这个和独立的窗口看门狗有什么区别。
回复

使用道具 举报

5

主题

519

回帖

534

积分

金牌会员

积分
534
发表于 2023-6-27 10:23:14 | 显示全部楼层
居然没看懂这个描述。。。
回复

使用道具 举报

5

主题

519

回帖

534

积分

金牌会员

积分
534
发表于 2023-6-27 10:23:15 | 显示全部楼层
居然没看懂这个描述。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 22:18 , Processed in 0.179991 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表