M4521_BSP V3.02.000
The Board Support Package for M4521
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/*---------------------------------------------------------------------------------------------------------*/
33/* WDT Time-out Interval Period Constant Definitions */
34/*---------------------------------------------------------------------------------------------------------*/
35#define WDT_TIMEOUT_2POW4 (0UL << WDT_CTL_TOUTSEL_Pos)
36#define WDT_TIMEOUT_2POW6 (1UL << WDT_CTL_TOUTSEL_Pos)
37#define WDT_TIMEOUT_2POW8 (2UL << WDT_CTL_TOUTSEL_Pos)
38#define WDT_TIMEOUT_2POW10 (3UL << WDT_CTL_TOUTSEL_Pos)
39#define WDT_TIMEOUT_2POW12 (4UL << WDT_CTL_TOUTSEL_Pos)
40#define WDT_TIMEOUT_2POW14 (5UL << WDT_CTL_TOUTSEL_Pos)
41#define WDT_TIMEOUT_2POW16 (6UL << WDT_CTL_TOUTSEL_Pos)
42#define WDT_TIMEOUT_2POW18 (7UL << WDT_CTL_TOUTSEL_Pos)
44/*---------------------------------------------------------------------------------------------------------*/
45/* WDT Reset Delay Period Constant Definitions */
46/*---------------------------------------------------------------------------------------------------------*/
47#define WDT_RESET_DELAY_1026CLK (0UL << WDT_ALTCTL_RSTDSEL_Pos)
48#define WDT_RESET_DELAY_130CLK (1UL << WDT_ALTCTL_RSTDSEL_Pos)
49#define WDT_RESET_DELAY_18CLK (2UL << WDT_ALTCTL_RSTDSEL_Pos)
50#define WDT_RESET_DELAY_3CLK (3UL << WDT_ALTCTL_RSTDSEL_Pos) /* end of group WDT_EXPORTED_CONSTANTS */
53
54
68#define WDT_CLEAR_RESET_FLAG() (WDT->CTL = (WDT->CTL & ~(WDT_CTL_IF_Msk | WDT_CTL_WKF_Msk)) | WDT_CTL_RSTF_Msk)
69
79#define WDT_CLEAR_TIMEOUT_INT_FLAG() (WDT->CTL = (WDT->CTL & ~(WDT_CTL_RSTF_Msk | WDT_CTL_WKF_Msk)) | WDT_CTL_IF_Msk)
80
90#define WDT_CLEAR_TIMEOUT_WAKEUP_FLAG() (WDT->CTL = (WDT->CTL & ~(WDT_CTL_RSTF_Msk | WDT_CTL_IF_Msk)) | WDT_CTL_WKF_Msk)
91
102#define WDT_GET_RESET_FLAG() ((WDT->CTL & WDT_CTL_RSTF_Msk)? 1 : 0)
103
114#define WDT_GET_TIMEOUT_INT_FLAG() ((WDT->CTL & WDT_CTL_IF_Msk)? 1 : 0)
115
126#define WDT_GET_TIMEOUT_WAKEUP_FLAG() ((WDT->CTL & WDT_CTL_WKF_Msk)? 1 : 0)
127
140#define WDT_RESET_COUNTER() (WDT->CTL = (WDT->CTL & ~(WDT_CTL_IF_Msk | WDT_CTL_WKF_Msk | WDT_CTL_RSTF_Msk)) | WDT_CTL_RSTCNT_Msk)
141
151static __INLINE void WDT_Close(void)
152{
153 WDT->CTL = 0;
154 return;
155}
156
166static __INLINE void WDT_EnableInt(void)
167{
168 WDT->CTL |= WDT_CTL_INTEN_Msk;
169 return;
170}
171
181static __INLINE void WDT_DisableInt(void)
182{
183 // Do not touch another write 1 clear bits
185 return;
186}
187
188void WDT_Open(uint32_t u32TimeoutInterval, uint32_t u32ResetDelay, uint32_t u32EnableReset, uint32_t u32EnableWakeup);
189 /* end of group WDT_EXPORTED_FUNCTIONS */
191 /* end of group WDT_Driver */
193 /* end of group Standard_Driver */
195
196#ifdef __cplusplus
197}
198#endif
199
200#endif //__WDT_H__
201
202
#define WDT_CTL_RSTF_Msk
Definition: M4521.h:13589
#define WDT_CTL_WKF_Msk
Definition: M4521.h:13598
#define WDT_CTL_IF_Msk
Definition: M4521.h:13592
#define WDT_CTL_INTEN_Msk
Definition: M4521.h:13601
#define WDT
Definition: M4521.h:13836
static __INLINE void WDT_Close(void)
Stop WDT Counting.
Definition: wdt.h:151
static __INLINE void WDT_DisableInt(void)
Disable WDT Time-out Interrupt.
Definition: wdt.h:181
static __INLINE void WDT_EnableInt(void)
Enable WDT Time-out Interrupt.
Definition: wdt.h:166
void WDT_Open(uint32_t u32TimeoutInterval, uint32_t u32ResetDelay, uint32_t u32EnableReset, uint32_t u32EnableWakeup)
Initialize WDT and start counting.
Definition: wdt.c:53