使用stm32L03进入睡眠自动唤醒后看门狗会自动复位

2019-07-14 18:37发布

具体描述如下:

1、 单片机在进入睡眠模式前卫喂一次够,看门狗设定的时间 为 6-8s,单片机的睡眠时间设定的是 5s
     按照这样的时间设置,单片机醒来后,应该是不会重启才对的,每次单片机醒来后又喂了一次够,
    但是还是会重启 ???????

相关代码如下:

  1. <font size="4">#define PRER_VAL    IWDG_PRESCALER_64
  2. #define RLR__VAL    (uint32_t)(625*7)                //目前设置看门狗复位时间为 7s

  3. //初始化
  4. void IWDG_Init(void)
  5. {
  6.         printf("IWDG Init ... ... ");

  7.        IWDG->KR = 0X5555;      //解除寄存器保护        
  8.         IWDG->PR = PRER_VAL;         // 写入初始化分频值
  9.         IWDG->RLR = RLR__VAL;            // 写入自动装载值
  10.         IWDG->KR  = 0XAAAA;     //开启寄存器保护
  11.         IWDG->KR  = 0XCCCC;       //启动看门狗
  12. }

  13. //喂狗
  14. void IWDG_Refresh(void)
  15. {
  16.         IWDG->KR=0XAAAA;  
  17. }</font>
复制代码

0条回答

一周热门 更多>