LPCOpen Platform
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
wwdt_18xx_43xx.h
Go to the documentation of this file.
1 /*
2  * @brief LPC18xx/43xx WWDT chip driver
3  *
4  * @note
5  * Copyright(C) NXP Semiconductors, 2012
6  * All rights reserved.
7  *
8  * @par
9  * Software that is described herein is for illustrative purposes only
10  * which provides customers with programming information regarding the
11  * LPC products. This software is supplied "AS IS" without any warranties of
12  * any kind, and NXP Semiconductors and its licensor disclaim any and
13  * all warranties, express or implied, including all implied warranties of
14  * merchantability, fitness for a particular purpose and non-infringement of
15  * intellectual property rights. NXP Semiconductors assumes no responsibility
16  * or liability for the use of the software, conveys no license or rights under any
17  * patent, copyright, mask work right, or any other intellectual property rights in
18  * or to any products. NXP Semiconductors reserves the right to make changes
19  * in the software without notification. NXP Semiconductors also makes no
20  * representation or warranty that such application will be suitable for the
21  * specified use without further testing or modification.
22  *
23  * @par
24  * Permission to use, copy, modify, and distribute this software and its
25  * documentation is hereby granted, under NXP Semiconductors' and its
26  * licensor's relevant copyrights in the software, without fee, provided that it
27  * is used in conjunction with NXP Semiconductors microcontrollers. This
28  * copyright, permission, and disclaimer notice must appear in all copies of
29  * this code.
30  */
31 
32 #ifndef __WWDT_18XX_43XX_H_
33 #define __WWDT_18XX_43XX_H_
34 
35 #include "chip.h"
36 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
47 #define WDT_OSC (CGU_IRC_FREQ)
48 
50 #define WWDT_WDMOD_WDEN ((uint32_t) (1 << 0))
51 
52 #define WWDT_WDMOD_WDRESET ((uint32_t) (1 << 1))
53 
54 #define WWDT_WDMOD_WDTOF ((uint32_t) (1 << 2))
55 
56 #define WWDT_WDMOD_WDINT ((uint32_t) (1 << 3))
57 
58 #define WWDT_WDMOD_WDPROTECT ((uint32_t) (1 << 4))
59 
61 #define WWDT_TICKS_MIN 0xFF
62 
64 #define WWDT_TICKS_MAX 0xFFFFFF
65 
70 void Chip_WWDT_Init(void);
71 
78 {
79  LPC_WWDT->TC = timeout;
80 }
81 
89 {
90  LPC_WWDT->FEED = 0xAA;
91  LPC_WWDT->FEED = 0x55;
92 }
93 
102 {
103  LPC_WWDT->WARNINT = timeout;
104 }
105 
115 {
116  LPC_WWDT->WINDOW = timeout;
117 }
118 
129 {
130  LPC_WWDT->MOD |= options;
131 }
132 
142 {
143  LPC_WWDT->MOD &= ~options;
144 }
145 
151 {
153  Chip_WWDT_Feed();
154 }
155 
161 {
162  return LPC_WWDT->MOD;
163 }
164 
173 
179 {
180  return LPC_WWDT->TV;
181 }
182 
187 #ifdef __cplusplus
188 }
189 #endif
190 
191 #endif /* __WWDT_18XX_43XX_H_ */