1. 程式人生 > >stm8s 獨立看門狗和視窗看門狗的程式碼

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模式公用