303 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			303 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * @brief LPC11u6x RTC chip driver
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @note
							 | 
						||
| 
								 | 
							
								 * Copyright(C) NXP Semiconductors, 2013
							 | 
						||
| 
								 | 
							
								 * All rights reserved.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @par
							 | 
						||
| 
								 | 
							
								 * Software that is described herein is for illustrative purposes only
							 | 
						||
| 
								 | 
							
								 * which provides customers with programming information regarding the
							 | 
						||
| 
								 | 
							
								 * LPC products.  This software is supplied "AS IS" without any warranties of
							 | 
						||
| 
								 | 
							
								 * any kind, and NXP Semiconductors and its licensor disclaim any and
							 | 
						||
| 
								 | 
							
								 * all warranties, express or implied, including all implied warranties of
							 | 
						||
| 
								 | 
							
								 * merchantability, fitness for a particular purpose and non-infringement of
							 | 
						||
| 
								 | 
							
								 * intellectual property rights.  NXP Semiconductors assumes no responsibility
							 | 
						||
| 
								 | 
							
								 * or liability for the use of the software, conveys no license or rights under any
							 | 
						||
| 
								 | 
							
								 * patent, copyright, mask work right, or any other intellectual property rights in
							 | 
						||
| 
								 | 
							
								 * or to any products. NXP Semiconductors reserves the right to make changes
							 | 
						||
| 
								 | 
							
								 * in the software without notification. NXP Semiconductors also makes no
							 | 
						||
| 
								 | 
							
								 * representation or warranty that such application will be suitable for the
							 | 
						||
| 
								 | 
							
								 * specified use without further testing or modification.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @par
							 | 
						||
| 
								 | 
							
								 * Permission to use, copy, modify, and distribute this software and its
							 | 
						||
| 
								 | 
							
								 * documentation is hereby granted, under NXP Semiconductors' and its
							 | 
						||
| 
								 | 
							
								 * licensor's relevant copyrights in the software, without fee, provided that it
							 | 
						||
| 
								 | 
							
								 * is used in conjunction with NXP Semiconductors microcontrollers.  This
							 | 
						||
| 
								 | 
							
								 * copyright, permission, and disclaimer notice must appear in all copies of
							 | 
						||
| 
								 | 
							
								 * this code.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef __RTC_11U6X_H_
							 | 
						||
| 
								 | 
							
								#define __RTC_11U6X_H_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								extern "C" {
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @defgroup RTC_11U6X CHIP: LPC11u6x RTC driver
							 | 
						||
| 
								 | 
							
								 * @ingroup CHIP_11U6X_Drivers
							 | 
						||
| 
								 | 
							
								 * @{
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief LPC11u6x RTC register block structure
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								typedef struct {			/*!< RTC */
							 | 
						||
| 
								 | 
							
									__IO uint32_t CTRL;		/*!< RTC control register */
							 | 
						||
| 
								 | 
							
									__IO uint32_t MATCH;	/*!< PRTC match (alarm) register */
							 | 
						||
| 
								 | 
							
									__IO uint32_t COUNT;	/*!< RTC counter register */
							 | 
						||
| 
								 | 
							
									__IO uint32_t WAKE;		/*!< RTC high-resolution/wake-up timer control register */
							 | 
						||
| 
								 | 
							
								} LPC_RTC_T;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* CTRL register defniitions */
							 | 
						||
| 
								 | 
							
								#define RTC_CTRL_SWRESET        (1 << 0)	/*!< Apply reset to RTC */
							 | 
						||
| 
								 | 
							
								#define RTC_CTRL_OFD            (1 << 1)	/*!< Oscillator fail detect status (failed bit) */
							 | 
						||
| 
								 | 
							
								#define RTC_CTRL_ALARM1HZ       (1 << 2)	/*!< RTC 1 Hz timer alarm flag status (match) bit */
							 | 
						||
| 
								 | 
							
								#define RTC_CTRL_WAKE1KHZ       (1 << 3)	/*!< RTC 1 kHz timer wake-up flag status (timeout) bit */
							 | 
						||
| 
								 | 
							
								#define RTC_CTRL_ALARMDPD_EN    (1 << 4)	/*!< RTC 1 Hz timer alarm for Deep power-down enable bit */
							 | 
						||
| 
								 | 
							
								#define RTC_CTRL_WAKEDPD_EN     (1 << 5)	/*!< RTC 1 kHz timer wake-up for Deep power-down enable bit */
							 | 
						||
| 
								 | 
							
								#define RTC_CTRL_RTC1KHZ_EN     (1 << 6)	/*!< RTC 1 kHz clock enable bit */
							 | 
						||
| 
								 | 
							
								#define RTC_CTRL_RTC_EN         (1 << 7)	/*!< RTC enable bit */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Initialize the RTC peripheral
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: RTC peripheral selected
							 | 
						||
| 
								 | 
							
								 * @return	None
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								void Chip_RTC_Init(LPC_RTC_T *pRTC);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	De-initialize the RTC peripheral
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: RTC peripheral selected
							 | 
						||
| 
								 | 
							
								 * @return	None
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								void Chip_RTC_DeInit(LPC_RTC_T *pRTC);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Enable RTC options
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @param	flags	: And OR'ed value of RTC_CTRL_* definitions to enable
							 | 
						||
| 
								 | 
							
								 * @return	Nothing
							 | 
						||
| 
								 | 
							
								 * @note	You can enable multiple RTC options at once using this function
							 | 
						||
| 
								 | 
							
								 *			by OR'ing them together. It is recommended to only use the
							 | 
						||
| 
								 | 
							
								 *			RTC_CTRL_ALARMDPD_EN, RTC_CTRL_WAKEDPD_EN, RTC_CTRL_RTC1KHZ_EN, and
							 | 
						||
| 
								 | 
							
								 *			RTC_CTRL_RTC_EN flags with this function.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE void Chip_RTC_EnableOptions(LPC_RTC_T *pRTC, uint32_t flags)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									pRTC->CTRL |= flags;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Disable RTC options
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @param	flags	: And OR'ed value of RTC_CTRL_* definitions to disable
							 | 
						||
| 
								 | 
							
								 * @return	Nothing
							 | 
						||
| 
								 | 
							
								 * @note	You can enable multiple RTC options at once using this function
							 | 
						||
| 
								 | 
							
								 *			by OR'ing them together. It is recommended to only use the
							 | 
						||
| 
								 | 
							
								 *			RTC_CTRL_ALARMDPD_EN, RTC_CTRL_WAKEDPD_EN, RTC_CTRL_RTC1KHZ_EN, and
							 | 
						||
| 
								 | 
							
								 *			RTC_CTRL_RTC_EN flags with this function.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE void Chip_RTC_DisableOptions(LPC_RTC_T *pRTC, uint32_t flags)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									pRTC->CTRL &= ~flags;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Reset RTC
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @return	Nothing
							 | 
						||
| 
								 | 
							
								 * @note	The RTC state will be returned to it's default.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE void Chip_RTC_Reset(LPC_RTC_T *pRTC)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									Chip_RTC_EnableOptions(pRTC, RTC_CTRL_SWRESET);
							 | 
						||
| 
								 | 
							
									Chip_RTC_DisableOptions(pRTC, RTC_CTRL_SWRESET);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Enables the RTC
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @return	Nothing
							 | 
						||
| 
								 | 
							
								 * @note	You can also use Chip_RTC_EnableOptions() with the
							 | 
						||
| 
								 | 
							
								 *			RTC_CTRL_RTC_EN flag to enable the RTC.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE void Chip_RTC_Enable(LPC_RTC_T *pRTC)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									Chip_RTC_EnableOptions(pRTC, RTC_CTRL_RTC_EN);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Disables the RTC
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @return	Nothing
							 | 
						||
| 
								 | 
							
								 * @note	You can also use Chip_RTC_DisableOptions() with the
							 | 
						||
| 
								 | 
							
								 *			RTC_CTRL_RTC_EN flag to enable the RTC.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE void Chip_RTC_Disable(LPC_RTC_T *pRTC)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									Chip_RTC_DisableOptions(pRTC, RTC_CTRL_RTC_EN);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Enables the RTC 1KHz high resolution timer
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @return	Nothing
							 | 
						||
| 
								 | 
							
								 * @note	You can also use Chip_RTC_EnableOptions() with the
							 | 
						||
| 
								 | 
							
								 *			RTC_CTRL_RTC1KHZ_EN flag to enable the high resolution
							 | 
						||
| 
								 | 
							
								 *			timer.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE void Chip_RTC_Enable1KHZ(LPC_RTC_T *pRTC)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									Chip_RTC_EnableOptions(pRTC, RTC_CTRL_RTC1KHZ_EN);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Disables the RTC 1KHz high resolution timer
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @return	Nothing
							 | 
						||
| 
								 | 
							
								 * @note	You can also use Chip_RTC_DisableOptions() with the
							 | 
						||
| 
								 | 
							
								 *			RTC_CTRL_RTC1KHZ_EN flag to disable the high resolution
							 | 
						||
| 
								 | 
							
								 *			timer.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE void Chip_RTC_Disable1KHZ(LPC_RTC_T *pRTC)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									Chip_RTC_DisableOptions(pRTC, RTC_CTRL_RTC1KHZ_EN);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Enables selected RTC wakeup events
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @param	ints	: Wakeup events to enable
							 | 
						||
| 
								 | 
							
								 * @return	Nothing
							 | 
						||
| 
								 | 
							
								 * @note	Select either one or both (OR'ed) RTC_CTRL_ALARMDPD_EN
							 | 
						||
| 
								 | 
							
								 *			and RTC_CTRL_WAKEDPD_EN values to enabled. You can also
							 | 
						||
| 
								 | 
							
								 *			use Chip_RTC_EnableOptions() with the flags to enable
							 | 
						||
| 
								 | 
							
								 *			the events.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE void Chip_RTC_EnableWakeup(LPC_RTC_T *pRTC, uint32_t ints)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									Chip_RTC_EnableOptions(pRTC, ints);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Disables selected RTC wakeup events
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @param	ints	: Wakeup events to disable
							 | 
						||
| 
								 | 
							
								 * @return	Nothing
							 | 
						||
| 
								 | 
							
								 * @note	Select either one or both (OR'ed) RTC_CTRL_ALARMDPD_EN
							 | 
						||
| 
								 | 
							
								 *			and RTC_CTRL_WAKEDPD_EN values to disabled. You can also
							 | 
						||
| 
								 | 
							
								 *			use Chip_RTC_DisableOptions() with the flags to disable
							 | 
						||
| 
								 | 
							
								 *			the events.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE void Chip_RTC_DisableWakeup(LPC_RTC_T *pRTC, uint32_t ints)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									Chip_RTC_DisableOptions(pRTC, ints);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Clears latched RTC statuses
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @param	stsMask	: OR'ed status bits to clear
							 | 
						||
| 
								 | 
							
								 * @return	Nothing
							 | 
						||
| 
								 | 
							
								 * @note	Use and OR'ed stsMask value of RTC_CTRL_OFD, RTC_CTRL_ALARM1HZ,
							 | 
						||
| 
								 | 
							
								 *			and RTC_CTRL_WAKE1KHZ to clear specific RTC states.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE uint32_t Chip_RTC_ClearStatus(LPC_RTC_T *pRTC, uint32_t stsMask)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									return pRTC->CTRL;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Return RTC control/status register
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @return	The current RTC control/status register
							 | 
						||
| 
								 | 
							
								 * @note	Mask the return value with a RTC_CTRL_* definitions to determine
							 | 
						||
| 
								 | 
							
								 *			which bits are set. For example, mask the return value with
							 | 
						||
| 
								 | 
							
								 *			RTC_CTRL_ALARM1HZ to determine if the alarm interrupt is pending.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE uint32_t Chip_RTC_GetStatus(LPC_RTC_T *pRTC)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									return pRTC->CTRL;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Set RTC match value for alarm status/interrupt
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @param	count	: Alarm event time
							 | 
						||
| 
								 | 
							
								 * @return	Nothing
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE void Chip_RTC_SetAlarm(LPC_RTC_T *pRTC, uint32_t count)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									pRTC->MATCH = count;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Return the RTC match value used for alarm status/interrupt
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @return	Alarm event time
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE uint32_t Chip_RTC_GetAlarm(LPC_RTC_T *pRTC)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									return pRTC->MATCH;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Set RTC match count for 1 second timer count
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @param	count	: Initial count to set
							 | 
						||
| 
								 | 
							
								 * @return	Nothing
							 | 
						||
| 
								 | 
							
								 * @note	Only write to this register when the RTC_CTRL_RTC_EN bit in
							 | 
						||
| 
								 | 
							
								 *			the CTRL Register is 0. The counter increments one second
							 | 
						||
| 
								 | 
							
								 *			after the RTC_CTRL_RTC_EN bit is set.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE void Chip_RTC_SetCount(LPC_RTC_T *pRTC, uint32_t count)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									pRTC->COUNT = count;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Get current RTC 1 second timer count
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @return	current RTC 1 second timer count
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE uint32_t Chip_RTC_GetCount(LPC_RTC_T *pRTC)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									return pRTC->COUNT;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Set RTC wake count countdown value (in mS ticks)
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @param	count	: wakeup time in milliSeconds
							 | 
						||
| 
								 | 
							
								 * @return	Nothing
							 | 
						||
| 
								 | 
							
								 * @note	A write pre-loads a start count value into the wake-up
							 | 
						||
| 
								 | 
							
								 *			timer and initializes a count-down sequence.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE void Chip_RTC_SetWake(LPC_RTC_T *pRTC, uint16_t count)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									pRTC->WAKE = count;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @brief	Get RTC wake count countdown value
							 | 
						||
| 
								 | 
							
								 * @param	pRTC	: The base address of RTC block
							 | 
						||
| 
								 | 
							
								 * @return	current RTC wake count countdown value (in mS)
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								STATIC INLINE uint16_t Chip_RTC_GetWake(LPC_RTC_T *pRTC)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									return pRTC->WAKE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @}
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* __RTC_11U6X_H_ */
							 |