NXP's driver library for LPC17xx, ported to mbed's online compiler. Not tested! I had to fix a lot of warings and found a couple of pretty obvious bugs, so the chances are there are more. Original: http://ics.nxp.com/support/documents/microcontrollers/zip/lpc17xx.cmsis.driver.library.zip
Diff: include/lpc17xx_rit.h
- Revision:
- 0:1063a091a062
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/lpc17xx_rit.h Wed Feb 17 16:22:39 2010 +0000 @@ -0,0 +1,122 @@ +/***********************************************************************//** + * @file : lpc17xx_rit.h + * @brief : Contains all macro definitions and function prototypes + * support for RIT firmware library on LPC17xx + * @version : 1.0 + * @date : 07. May. 2009 + * @author : NguyenCao + ************************************************************************** + * Software that is described herein is for illustrative purposes only + * which provides customers with programming information regarding the + * products. This software is supplied "AS IS" without any warranties. + * NXP Semiconductors assumes no responsibility or liability for the + * use of the software, conveys no license or title under any patent, + * copyright, or mask work right to the product. NXP Semiconductors + * reserves the right to make changes in the software without + * notification. NXP Semiconductors also make no representation or + * warranty that such application will be suitable for the specified + * use without further testing or modification. + **************************************************************************/ + +/* Peripheral group ----------------------------------------------------------- */ +/** @defgroup RIT + * @ingroup LPC1700CMSIS_FwLib_Drivers + * @{ + */ + +#ifndef LPC17XX_RIT_H_ +#define LPC17XX_RIT_H_ + +/* Includes ------------------------------------------------------------------- */ +#include "cmsis.h" +#include "lpc_types.h" + + +#ifdef __cplusplus +extern "C" +{ +#endif + + +/* Private Macros ------------------------------------------------------------- */ +/** @defgroup RIT_Private_Macros + * @{ + */ + +/** @defgroup RIT_REGISTER_BIT_DEFINITIONS + * @{ + */ + +/*********************************************************************//** + * Macro defines for RIT control register + **********************************************************************/ +/** Set interrupt flag when the counter value equals the masked compare value */ +#define RIT_CTRL_INTEN ((uint32_t) (1)) +/** Set timer enable clear to 0 when the counter value equals the masked compare value */ +#define RIT_CTRL_ENCLR ((uint32_t) _BIT(1)) +/** Set timer enable on break */ +#define RIT_CTRL_ENBR ((uint32_t) _BIT(2)) +/** Set timer enable */ +#define RIT_CTRL_TEN ((uint32_t) _BIT(3)) + +/** + * @} + */ + +/** + * @} + */ + + +/* Public Types --------------------------------------------------------------- */ +/** @defgroup RIT_Public_Types + * @{ + */ + +/** + * @brief RIT compare configuration structure definition + */ +typedef struct +{ + uint32_t CMPVAL; /** Compare Value */ + uint32_t MASKVAL; /** Mask Value */ + uint32_t COUNTVAL; /** Counter Value */ +}RIT_CMP_VAL; + +/*************************** GLOBAL/PUBLIC MACROS ***************************/ +/** Macro to determine if it is valid RIT peripheral */ +#define PARAM_RITx(n) (((uint32_t *)n)==((uint32_t *)LPC_RIT)) + +/** + * @} + */ + + +/* Public Functions ----------------------------------------------------------- */ +/** @defgroup RIT_Public_Functions + * @{ + */ + +void RIT_Init(LPC_RIT_TypeDef *RITx); +void RIT_DeInit(LPC_RIT_TypeDef *RITx); +void RIT_TimerConfig(LPC_RIT_TypeDef *RITx, RIT_CMP_VAL *value); +void RIT_Cmd(LPC_RIT_TypeDef *RITx, FunctionalState NewState); +void RIT_TimerClearCmd(LPC_RIT_TypeDef *RITx, FunctionalState NewState); +void RIT_TimerEnableOnBreakCmd(LPC_RIT_TypeDef *RITx, FunctionalState NewState); +IntStatus RIT_GetIntStatus(LPC_RIT_TypeDef *RITx); + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* LPC17XX_RIT_H_ */ + +/** + * @} + */ + +/* --------------------------------- End Of File ------------------------------ */