int main(void) { uint8_t i; //初始化系统时钟 使用外部50M晶振 PLL倍频到100M SystemClockSetup(ClockSource_EX50M,CoreClock_100M); DelayInit(); //初始化LED LED_Init(LED_PinLookup_CHKATOM, kNumOfLED); //KBI 初始化 KBI_Init(KBI_PinLookup_CHKATOM, kNumOfKEY); //闪灯 制造复位效果 for(i = 0; i < 10; i++) { LED_Toggle(kLED1); DelayMs(50); } //初始化看门狗 如果1000MS 内没有喂狗则 复位 WDOG_Init(1000); while(1) { KBI_Scan(); if((KBI_GetKeyState(kKEY1) == kKBI_SINGLE)) { //如果案件按下 喂狗: WDOG_Feed(); } //扫描间隔延时 DelayMs(KBI_SCAN_PERIOD_IN_US/1000); } }
//看门狗任务 void AppWDOGTask(void *pdata) { pdata=pdata; //防止编译器出错 无实际意义 WDOG_Init(100); //开启看门狗 100MS超时复位 while(1) { WDOG_Feed(); OSTimeDlyHMSM(0, 0, 0, 50); } }
/*============================================================================== hal_spiTranRead() =============================================================================*/ void hal_watchdogReset(void) { WDOG_Feed(); } /* hal_watchdogReset() */