1 /* 2 * Copyright (c) 2006-2020, YICHIP Development Team 3 * @file yc_wdt.h 4 * @brief This file provides all the WDT firmware functions. 5 * 6 * Change Logs: 7 * Date Author Version Notes 8 * 2021-01-04 yangzhengfeng V1.0.0 the first version 9 */ 10 11 #ifndef __YC_WDT_H__ 12 #define __YC_WDT_H__ 13 14 #ifdef __cplusplus 15 extern "C" { 16 #endif 17 18 #include "yc3122.h" 19 #include "system.h" 20 21 22 typedef enum 23 { 24 WDT_CPUReset = 0, 25 WDT_Interrupt, 26 } WDT_ModeTypeDef; 27 28 #define WDTCLKDIV_1 0x00 29 #define WDTCLKDIV_2 0x01 30 #define WDTCLKDIV_3 0x02 31 #define WDTCLKDIV_4 0x03 32 #define WDTCLKDIV_5 0x04 33 #define WDTCLKDIV_6 0x05 34 #define WDTCLKDIV_7 0x06 35 #define WDTCLKDIV_8 0x07 36 #define WDTCLKDIV_9 0x08 37 #define WDTCLKDIV_10 0x09 38 #define WDTCLKDIV_11 0x0A 39 #define WDTCLKDIV_12 0x0B 40 #define WDTCLKDIV_13 0x0c 41 #define WDTCLKDIV_14 0x0D 42 #define WDTCLKDIV_15 0x0E 43 #define WDTCLKDIV_16 0x0F 44 45 /**************the value of feed dog************/ 46 #define COUNTER_RELOAD_KEY 0x5937 47 #define ITSTATUS 0x01 48 #define IS_WDT_CLKDI(wdtclkdiv) (wdtclkdiv < 16) 49 #define IS_WDT_RELOAD(load) (load <= 0x1f) 50 #define IS_WDT_MODE(mode) ((mode == WDT_CPUReset) || (mode == WDT_Interrupt)) 51 52 void WDT_CLKDIV(uint32_t Wdtclkdiv); 53 void WDT_SetReload(uint32_t Reload); 54 void WDT_ModeConfig(WDT_ModeTypeDef WDT_Mode); 55 void WDT_ClearITPendingBit(void); 56 void WDT_Enable(void); 57 void WDT_ReloadCounter(void); 58 uint8_t WDT_GetITStatus(void); 59 60 #ifdef __cplusplus 61 } 62 #endif 63 64 #endif /*__YC_WDT_H__*/ 65 66 /************************ (C) COPYRIGHT Yichip Microelectronics *****END OF FILE****/ 67