[N32G45x] N32G45x 独立看门狗(IWDG)使用

[复制链接]
1378|3
 楼主| Afanx 发表于 2022-10-31 13:47 | 显示全部楼层 |阅读模式
本帖最后由 Afanx 于 2022-10-31 13:47 编辑

独立看门狗(IWDG)时钟源:40kHz LSI

功能:内置12位递减计数器,减到0时,可以产生复位或低功耗唤醒(PWR_CTRL2配置)。若要防止复位,程序需要在计数达到0前重新加载计数器。
PWR_CTRL2.jpg

计数时间:
预分频因子 计数频率(Hz)  步进时间(ms) 最大计数时间(s)
/4 10k 0.1 0.4096
/8 5k 0.2 0.8192
/16 2.5k 0.4 1.6384
/32 1.25k 0.8 3.2768
/64 625 1.6 6.5536
/128 312.5 3.2 13.1072
/256 156.25 6.4 26.2144


软件配置流程:
1. 将 0x5555 写入 IWDG_KEY.KEYV[15:0]位以启用对 IWDG_PREDIV 和 IWDG_RELV 寄存器的写访问;
2. 检查 IWDG_STS.PVU 位或 IWDG_STS.CRVU 位,如果为 0,则继续下一步;
3. 配置 IWDG_PREDIV.PD[2:0]位以选择预分频值;
4. 配置 IWDG_RELV.REL[11:0]位重装载值;
5. 将 0xAAAA 写入 IWDG_KEY.KEYV[15:0]位,用重装载值更新计数器;
6. 通过软件或硬件将 0xCCCC 写入 IWDG_KEY.KEYV[15:0]位来启用看门狗。
如果用户想改变预分频值和重装载值,重复步骤 1~5。如果没有,只需按照第 5 步喂狗。



代码配置:
  1. /**
  2. * [url=home.php?mod=space&uid=247401]@brief[/url]  IWDG初始化
  3. */
  4. void IWDG_Initial(void)
  5. {
  6.     /* Enable write access to IWDG_PR and IWDG_RLR registers */
  7.     IWDG_WriteConfig(IWDG_WRITE_ENABLE);
  8.     /* IWDG counter clock: LSI/8 = 40kHz/8 = 5kHz = 0.2ms */
  9.     IWDG_SetPrescalerDiv(IWDG_PRESCALER_DIV8);
  10.     /* Set counter reload value : 0.2ms * 1000 = 200ms */
  11.     IWDG_CntReload(1000);
  12.     /* Reload IWDG counter */
  13.     IWDG_ReloadKey();
  14.     /* Enable IWDG (the LSI oscillator will be enabled by hardware) */
  15.     IWDG_Enable();
  16. }

  17. */
  18. /**
  19. * [url=home.php?mod=space&uid=247401]@brief[/url]  IWDG测试
  20. */
  21. void IWDG_Task(void)
  22. {
  23.     /* Check if the system has resumed from IWDG reset */
  24.     if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET) {
  25.         /* IWDGRST flag set */
  26.         printf("\r\n reset by IWDG \r\n");
  27.         /* Clear reset flags */
  28.         RCC_ClrFlag();
  29.     }

  30.     while (1) {
  31.         /* Reload IWDG counter */
  32.         IWDG_ReloadKey();
  33.         /* Delay < 200ms */
  34.         DelayMs(198);
  35.         /* Toggle LED */
  36.         GPIO_ToggleBit(GPIOA, GPIO_PIN_8);
  37.     }
  38. }


小黄鸭 发表于 2022-10-31 16:13 | 显示全部楼层
看门狗唤醒使能和复位使能?意思是看门狗可以选择低功耗唤醒也可以选择复位?是这个意思吗
 楼主| Afanx 发表于 2022-10-31 17:03 | 显示全部楼层
小黄鸭 发表于 2022-10-31 16:13
看门狗唤醒使能和复位使能?意思是看门狗可以选择低功耗唤醒也可以选择复位?是这个意思吗 ...

是的

评论

窗口看门狗有这个吗  发表于 2022-10-31 17:12
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

51

帖子

2

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