NANO103 BSP V3.01.004
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
16extern "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) /* 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
147void 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. ***/
#define WDT_INTEN_WDTIE_Msk
Definition: Nano103.h:9682
#define WDT
Pointer to WDT register structure.
Definition: Nano103.h:13779
__STATIC_INLINE void WDT_Close(void)
This function stops WDT counting and disable WDT module.
Definition: wdt.h:119
__STATIC_INLINE void WDT_EnableInt(void)
This function enables the WDT time-out interrupt.
Definition: wdt.h:130
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