LPC2387看门狗功能

     最近一个基于LPC2387的方案遇到了棘手的死机问题,板子的网口在客户那运行了十天左右会无法连通。这种现象很难复制,也没有规律。只能祭出大招看门狗,死机时候Ping不通那肯定网络线程Down掉了,那就在网络线程中喂狗吧。



     看门狗驱动:

//初始化watchdog
void InitWDT(unsigned long t)
{
	
	WDCLKSEL = 0; //use IRC as watchdog clock
	WDTC = t*1000000; // t*4/4MHZ
	WDMOD = 0x03;
}


void FeedWDT()
{
    Disable_Int();  //禁止中断,以免喂狗操作被打断出现错误
    WDFEED = 0xAA;
    WDFEED = 0x55; //必须连续执行
    Enable_Int();
  
	
}

注意事项:

初始玩看门狗后必须紧跟着喂一次狗,否则看门狗功能无法正常运行。

你可能感兴趣的:(LPC2387看门狗功能)