stm8s 独立看门狗和窗口看门狗的代码

void WWDG_INI(void)
{
    
   WWDG_WR = 0x60; //看门狗窗口值,窗口值必须在0x3F以上,但必须小于计数值,否则无法喂狗
   WWDG_CR      = 0x7F; //看门狗计数值
   WWDG_CR |= 0x80; //使能窗口看门狗

}


void Free_WWDG(void)
{
    if ((WWDG_CR & 0x7F) < WWDG_WR) //小于窗口值才能喂狗
      WWDG_CR = 0x7F; //重新喂狗
}

void IWDG_INI(void)
{
    

    IWDG_KR=0XCC; 
    IWDG_KR=0X55; //使能设置
    IWDG_PR=0X05; //分频设置
    IWDG_RLR=0XC8;// 680MS
    IWDG_KR=0XAA; //feed the dog    

}

void Free_IWDG(void)
{
    IWDG_KR=0XAA; //feed the dog
}
 

 

 

 

 

 

窗口看门狗  可以和halt模式共用 , 独立看门狗 不能和halt模式公用

 

 

 

 

 

 

你可能感兴趣的:(stm8s 独立看门狗和窗口看门狗的代码)