| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
atimer_001.h
Go to the documentation of this file.
1 /*
2 * @brief Alarm Timer Registers and control functions
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 __ATIMER_001_H_
33 #define __ATIMER_001_H_
34
35 #include "sys_config.h"
36 #include "cmsis.h"
37
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41
51 typedef struct {
52 __IO uint32_t DOWNCOUNTER;
53 __IO uint32_t PRESET;
54 __I uint32_t RESERVED0[1012];
55 __O uint32_t CLR_EN;
56 __O uint32_t SET_EN;
57 __I uint32_t STATUS;
58 __I uint32_t ENABLE;
59 __O uint32_t CLR_STAT;
60 __O uint32_t SET_STAT;
61 } IP_ATIMER_001_T;
62
70 void IP_ATIMER_DeInit(IP_ATIMER_001_T *pATimer);
71
77 STATIC INLINE void IP_ATIMER_ClearIntStatus(IP_ATIMER_001_T *pATimer)
78 {
79 pATimer->CLR_STAT = 1;
80 }
81
87 STATIC INLINE void IP_ATIMER_SetIntStatus(IP_ATIMER_001_T *pATimer)
88 {
89 pATimer->SET_STAT = 1;
90 }
96 STATIC INLINE void IP_ATIMER_IntEnable(IP_ATIMER_001_T *pATimer)
97 {
98 pATimer->SET_EN = 1;
99 }
100
106 STATIC INLINE void IP_ATIMER_IntDisable(IP_ATIMER_001_T *pATimer)
107 {
108 pATimer->CLR_EN = 1;
109 }
110
117 STATIC INLINE void IP_ATIMER_UpdatePresetValue(IP_ATIMER_001_T *pATimer, uint32_t PresetValue)
118 {
119 pATimer->PRESET = PresetValue;
120 }
121
127 STATIC INLINE uint32_t IP_ATIMER_GetPresetValue(IP_ATIMER_001_T *pATimer)
128 {
129 return pATimer->PRESET;
130 }
131
137 STATIC INLINE uint32_t IP_ATIMER_GetIntEnableState(IP_ATIMER_001_T *pATimer)
138 {
139 return pATimer->ENABLE;
140 }
141
147 STATIC INLINE uint32_t IP_ATIMER_GetIntPendingState(IP_ATIMER_001_T *pATimer)
148 {
149 return pATimer->STATUS;
150 }
151
156 #ifdef __cplusplus
157 }
158 #endif
159
160 #endif /* __ATIMER_001_H_ */