Nano102_112 Series BSP  V3.03.002
The Board Support Package for Nano102_112 Series
wdt.h
Go to the documentation of this file.
1 /**************************************************************************/
12 #ifndef __WDT_H__
13 #define __WDT_H__
14 
15 #ifdef __cplusplus
16 extern "C"
17 {
18 #endif
19 
20 
32 #define WDT_TIMEOUT_2POW4 (0UL << WDT_CTL_WTIS_Pos)
33 #define WDT_TIMEOUT_2POW6 (1UL << WDT_CTL_WTIS_Pos)
34 #define WDT_TIMEOUT_2POW8 (2UL << WDT_CTL_WTIS_Pos)
35 #define WDT_TIMEOUT_2POW10 (3UL << WDT_CTL_WTIS_Pos)
36 #define WDT_TIMEOUT_2POW12 (4UL << WDT_CTL_WTIS_Pos)
37 #define WDT_TIMEOUT_2POW14 (5UL << WDT_CTL_WTIS_Pos)
38 #define WDT_TIMEOUT_2POW16 (6UL << WDT_CTL_WTIS_Pos)
39 #define WDT_TIMEOUT_2POW18 (7UL << WDT_CTL_WTIS_Pos)
41 #define WDT_RESET_DELAY_3CLK (3UL << WDT_CTL_WTRDSEL_Pos)
42 #define WDT_RESET_DELAY_18CLK (2UL << WDT_CTL_WTRDSEL_Pos)
43 #define WDT_RESET_DELAY_130CLK (1UL << WDT_CTL_WTRDSEL_Pos)
44 #define WDT_RESET_DELAY_1026CLK (0UL << WDT_CTL_WTRDSEL_Pos)
46  /* end of group NANO1X2_WDT_EXPORTED_CONSTANTS */
47 
48 
59 #define WDT_CLEAR_RESET_FLAG() (WDT->ISR = WDT_ISR_RST_IS_Msk)
60 
67 #define WDT_CLEAR_TIMEOUT_INT_FLAG() (WDT->ISR = WDT_ISR_IS_Msk)
68 
75 #define WDT_CLEAR_TIMEOUT_WAKEUP_FLAG() (WDT->ISR = WDT_ISR_WAKE_IS_Msk)
76 
84 #define WDT_GET_RESET_FLAG() (WDT->ISR & WDT_ISR_RST_IS_Msk ? 1 : 0)
85 
93 #define WDT_GET_TIMEOUT_INT_FLAG() (WDT->ISR & WDT_ISR_IS_Msk ? 1 : 0)
94 
102 #define WDT_GET_TIMEOUT_WAKEUP_FLAG() (WDT->ISR & WDT_ISR_WAKE_IS_Msk ? 1 : 0)
103 
112 #define WDT_RESET_COUNTER() (WDT->CTL |= WDT_CTL_WTR_Msk)
113 
119 __STATIC_INLINE void WDT_Close(void)
120 {
121  WDT->CTL = 0;
122  return;
123 }
124 
130 __STATIC_INLINE void WDT_EnableInt(void)
131 {
132  WDT->IER = WDT_IER_IE_Msk;
133  return;
134 }
135 
141 __STATIC_INLINE void WDT_DisableInt(void)
142 {
143  WDT->IER = 0;
144  return;
145 }
146 
147 void WDT_Open(uint32_t u32TimeoutInterval,
148  uint32_t u32ResetDelay,
149  uint32_t u32EnableReset,
150  uint32_t u32EnableWakeup);
151  /* end of group NANO1X2_WDT_EXPORTED_FUNCTIONS */
153  /* end of group NANO1X2_WDT_Driver */
155  /* end of group NANO1X2_Device_Driver */
157 
158 #ifdef __cplusplus
159 }
160 #endif
161 
162 #endif //__WDT_H__
163 
164 /*** (C) COPYRIGHT 2014 Nuvoton Technology Corp. ***/
#define WDT
Pointer to WDT register structure.
__STATIC_INLINE void WDT_EnableInt(void)
This function enables the WDT time-out interrupt.
Definition: wdt.h:130
__STATIC_INLINE void WDT_Close(void)
This function stops WDT counting and disable WDT module.
Definition: wdt.h:119
void WDT_Open(uint32_t u32TimeoutInterval, uint32_t u32ResetDelay, uint32_t u32EnableReset, uint32_t u32EnableWakeup)
This function make WDT module start counting with different time-out interval.
Definition: wdt.c:47
__STATIC_INLINE void WDT_DisableInt(void)
This function disables the WDT time-out interrupt.
Definition: wdt.h:141
#define WDT_IER_IE_Msk