void wwdg_init(void)
{
LPC_SC->PCLKSEL0|=(3<<0);//分頻數(shù)為八分頻
LPC_WDT->WDCLKSEL&=~(3<<0);
LPC_WDT->WDCLKSEL|=(1<<0);//設(shè)置wdt時鐘為apb
LPC_WDT->WDCLKSEL|=(1<<31);//鎖定時鐘源
LPC_WDT->WDTC=0xffff;//設(shè)定重載值
LPC_WDT->WDMOD|=(1<<0)|(1<<1);//看門狗使能并設(shè)定引發(fā)復(fù)位
//此時初始化就完成了
}
//關(guān)閉系統(tǒng)總中斷
__asm void NVIC_SETPRIMASK(void)
{
CPSID i
BX r14
}
//打開系統(tǒng)總中斷
__asm void NVIC_RESETPRIMASK(void)
{
CPSIE i
BX r14
}
void wwdg_feed(void)
{
NVIC_SETPRIMASK();//禁用中斷
LPC_WDT->WDFEED=0xaa;
LPC_WDT->WDFEED=0x55;
NVIC_RESETPRIMASK();//重新打開中斷
}