uc-sdk
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
lpc17xx_wdt.h
Go to the documentation of this file.
1 /***********************************************************************/
21 /* Peripheral group ----------------------------------------------------------- */
27 #ifndef LPC17XX_WDT_H_
28 #define LPC17XX_WDT_H_
29 
30 /* Includes ------------------------------------------------------------------- */
31 #include "LPC17xx.h"
32 #include "lpc_types.h"
33 
34 
35 #ifdef __cplusplus
36 extern "C"
37 {
38 #endif
39 
40 
41 /* Private Macros ------------------------------------------------------------- */
46 /* --------------------- BIT DEFINITIONS -------------------------------------- */
48 #define WDT_WDMOD_WDEN ((uint32_t)(1<<0))
49 
50 #define WDT_WDMOD_WDRESET ((uint32_t)(1<<1))
51 
52 #define WDT_WDMOD_WDTOF ((uint32_t)(1<<2))
53 
54 #define WDT_WDMOD_WDINT ((uint32_t)(1<<3))
55 
56 #define WDT_WDMOD(n) ((uint32_t)(1<<1))
57 
59 #define WDT_US_INDEX ((uint32_t)(1000000))
60 
61 #define WDT_TIMEOUT_MIN ((uint32_t)(0xFF))
62 
63 #define WDT_TIMEOUT_MAX ((uint32_t)(0xFFFFFFFF))
64 
66 #define WDT_WDMOD_MASK (uint8_t)(0x02)
67 
68 #define WDT_WDTC_MASK (uint8_t)(0xFFFFFFFF)
69 
70 #define WDT_WDFEED_MASK (uint8_t)(0x000000FF)
71 
72 #define WDT_WDCLKSEL_MASK (uint8_t)(0x03)
73 
74 #define WDT_WDCLKSEL_RC (uint8_t)(0x00)
75 
76 #define WDT_WDCLKSEL_PCLK (uint8_t)(0x01)
77 
78 #define WDT_WDCLKSEL_RTC (uint8_t)(0x02)
79 
80 /* ---------------- CHECK PARAMETER DEFINITIONS ---------------------------- */
81 /* Macro check clock source selection */
82 #define PARAM_WDT_CLK_OPT(OPTION) ((OPTION ==WDT_CLKSRC_IRC)||(OPTION ==WDT_CLKSRC_IRC)\
83 ||(OPTION ==WDT_CLKSRC_IRC))
84 
85 /* Macro check WDT mode */
86 #define PARAM_WDT_MODE_OPT(OPTION) ((OPTION ==WDT_MODE_INT_ONLY)||(OPTION ==WDT_MODE_RESET))
87 
92 /* Public Types --------------------------------------------------------------- */
98 typedef enum {
102 } WDT_CLK_OPT;
103 
105 typedef enum {
108 } WDT_MODE_OPT;
109 
115 /* Public Functions ----------------------------------------------------------- */
120 void WDT_Init (WDT_CLK_OPT ClkSrc, WDT_MODE_OPT WDTMode);
121 void WDT_Start(uint32_t TimeOut);
122 void WDT_Feed (void);
123 void WDT_UpdateTimeOut ( uint32_t TimeOut);
125 void WDT_ClrTimeOutFlag (void);
126 uint32_t WDT_GetCurrentCount(void);
127 
132 #ifdef __cplusplus
133 }
134 #endif
135 
136 #endif /* LPC17XX_WDT_H_ */
137 
142 /* --------------------------------- End Of File ------------------------------ */