OKI单片机——ML610Q4XX 看门狗
/***********************************************/
* @brief 看门狗初始化
* @details
* @param[in] Time :看门狗复位时间
/***********************************************/
void WDT_Init( WDG_Timer_TypeDef Time)
{
WDTCON = 0x5A; //clear watch dog
WDTCON = 0xA5;
WDTMOD = Time;
}
WDT计数器清零的方法是:先WDTCON寄存器写0X5A,判断WDTP位为1后在写0XA5
看门狗计数器发生溢出后,如果不清除中断标志位,当看门狗计数器再次溢出就会发生系统中断。
系统复位完毕后或低速时钟开始振荡后,看门狗会自动开,如果你不需要看门狗功能可以使用下列例程清除WDT计数器中断。
__DI(); // Disable multi-interrupts
do
{
WDTCON = 0x5a;
} while(WDP != 1)
WDTCON = 0xa5;
__EI();