本帖最后由 wbeast 于 2019-4-18 16:50 编辑
看门狗的用途是当微处理器发生错误的时候产生复位,当看门狗使能时候,用户没有在溢出周期内喂狗(给看门狗定时器重装定时值),系统就会产生复位。 /************************************************************************************************
函数名: void WDTInit( void )
函数功能:初始化看门狗定时器
参数:timeout 定时时间
返回值:无
*************************************************************************************************/
void WDTInit( uint32_t timeout )
{
//默认外设功率寄存器开启
// 第一步 初始化看门狗
Chip_WWDT_Init(LPC_WWDT);
// 第二步 设置定时器时间
Chip_WWDT_SetTimeOut(LPC_WWDT,timeout); //设置定时器时间
//第三步 使能看门狗 ,定时器溢出后复位系统
Chip_WWDT_SetOption(LPC_WWDT, WWDT_WDMOD_WDRESET|WWDT_WDMOD_WDEN);//复位and使能
// 第四步 喂狗
Chip_WWDT_Feed(LPC_WWDT);//喂狗
}
/************************************************************************************************
函数名: void WDTFeed( void )
函数功能:喂看门狗定时器,以防止他超时
参数:无
返回值:无
注意 喂狗函数重复造轮子了,实际上直接调用 Chip_WWDT_Feed(LPC_WWDT);函数效果也是一样的
*************************************************************************************************/
void WDTFeed( void )
{
Chip_WWDT_Feed(LPC_WWDT);
}
|