void DrvWDT_Close(void) { DrvWDT_Ioctl(E_WDT_IOC_STOP_TIMER, 0); /* Stop WDT */ DrvWDT_Ioctl(E_WDT_IOC_DISABLE_INT, 0); /* Disable WDT Interrupt */ SYSCLK->APBCLK.WDG_EN = 0; }
void WDT_Init() { UNLOCKREG(); DrvWDT_Open(E_WDT_LEVEL6); //看门狗定时器复位使能 DrvWDT_Ioctl(E_WDT_IOC_ENABLE_RESET_FUNC, 0); //使能看门狗定时器 WTE DrvWDT_Ioctl(E_WDT_IOC_START_TIMER, 0); LOCKREG(); // }
void DrvWDT_Open(E_WDT_INTERVAL WDTlevel) { DrvWDT_Ioctl(E_WDT_IOC_STOP_TIMER, 0); /* Stop WDT first */ SYSCLK->APBCLK.WDG_EN = 1; /* Enable WatchDog Timer Clock */ WDT->WTCR.WTIS = WDTlevel; /* Select WatchDog Timer Interval */ }
void WDT_Feed() { UNLOCKREG(); DrvWDT_Ioctl(E_WDT_IOC_RESET_TIMER, 0); LOCKREG(); }