| Nano103 BSP V3.01.002 The Board Support Package for Nano103 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 NANO103_WDT_EXPORTED_CONSTANTS */
47
48
59 #define WDT_CLEAR_RESET_FLAG() (WDT->STATUS = WDT_STATUS_RSTF_Msk)
60
67 #define WDT_CLEAR_TIMEOUT_INT_FLAG() (WDT->STATUS = WDT_STATUS_WDTIF_Msk)
68
75 #define WDT_CLEAR_TIMEOUT_WAKEUP_FLAG() (WDT->STATUS = WDT_STATUS_WKF_Msk)
76
84 #define WDT_GET_RESET_FLAG() (WDT->STATUS & WDT_STATUS_RSTF_Msk ? 1 : 0)
85
93 #define WDT_GET_TIMEOUT_INT_FLAG() (WDT->STATUS & WDT_STATUS_WDTIF_Msk ? 1 : 0)
94
102 #define WDT_GET_TIMEOUT_WAKEUP_FLAG() (WDT->STATUS & WDT_STATUS_WKF_Msk ? 1 : 0)
103
112 #define WDT_RESET_COUNTER() (WDT->CTL |= WDT_CTL_RSTCNT_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->INTEN = WDT_INTEN_WDTIE_Msk;
133 return;
134 }
135
141 __STATIC_INLINE void WDT_DisableInt(void)
142 {
143 WDT->INTEN = 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 NANO103_WDT_EXPORTED_FUNCTIONS */
153 /* end of group NANO103_WDT_Driver */
155 /* end of group NANO103_Device_Driver */
157
158 #ifdef __cplusplus
159 }
160 #endif
161
162 #endif //__WDT_H__
163
164 /*** (C) COPYRIGHT 2015 Nuvoton Technology Corp. ***/
WDT_DisableInt
__STATIC_INLINE void WDT_DisableInt(void)
This function disables the WDT time-out interrupt.
Definition: wdt.h:141
WDT_Open
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
WDT_INTEN_WDTIE_Msk
#define WDT_INTEN_WDTIE_Msk
Definition: Nano103.h:17660
WDT_Close
__STATIC_INLINE void WDT_Close(void)
This function stops WDT counting and disable WDT module.
Definition: wdt.h:119
WDT
#define WDT
Pointer to WDT register structure.
Definition: Nano103.h:24861
WDT_EnableInt
__STATIC_INLINE void WDT_EnableInt(void)
This function enables the WDT time-out interrupt.
Definition: wdt.h:130