LPCOpen Platform for LPC112X microcontrollers  112X
LPCOpen Platform for the NXP LPC112X family of Microcontrollers
Data Structures | Macros | Enumerations | Functions
timer_112x.h File Reference

Go to the source code of this file.

Data Structures

struct  LPC_TIMER_T
 32-bit Standard timer register block structure More...
 

Macros

#define TIMER_IR_CLR(n)   _BIT(n)
 
#define TIMER_MATCH_INT(n)   (_BIT((n) & 0x0F))
 
#define TIMER_CAP_INT(n)   (_BIT((((n) & 0x0F) + 4)))
 
#define TIMER_ENABLE   ((uint32_t) (1 << 0))
 
#define TIMER_RESET   ((uint32_t) (1 << 1))
 
#define TIMER_INT_ON_MATCH(n)   (_BIT(((n) * 3)))
 
#define TIMER_RESET_ON_MATCH(n)   (_BIT((((n) * 3) + 1)))
 
#define TIMER_STOP_ON_MATCH(n)   (_BIT((((n) * 3) + 2)))
 
#define TIMER_CAP_RISING(n)   (_BIT(((n) * 3)))
 
#define TIMER_CAP_FALLING(n)   (_BIT((((n) * 3) + 1)))
 
#define TIMER_INT_ON_CAP(n)   (_BIT((((n) * 3) + 2)))
 

Enumerations

enum  TIMER_PIN_MATCH_STATE_T { TIMER_EXTMATCH_DO_NOTHING = 0, TIMER_EXTMATCH_CLEAR = 1, TIMER_EXTMATCH_SET = 2, TIMER_EXTMATCH_TOGGLE = 3 }
 Standard timer initial match pin state and change state. More...
 
enum  TIMER_CAP_SRC_STATE_T { TIMER_CAPSRC_RISING_PCLK = 0, TIMER_CAPSRC_RISING_CAPN = 1, TIMER_CAPSRC_FALLING_CAPN = 2, TIMER_CAPSRC_BOTH_CAPN = 3 }
 Standard timer clock and edge for count source. More...
 

Functions

void Chip_TIMER_Init (LPC_TIMER_T *pTMR)
 Initialize a timer. More...
 
void Chip_TIMER_DeInit (LPC_TIMER_T *pTMR)
 Shutdown a timer. More...
 
STATIC INLINE bool Chip_TIMER_MatchPending (LPC_TIMER_T *pTMR, int8_t matchnum)
 Determine if a match interrupt is pending. More...
 
STATIC INLINE bool Chip_TIMER_CapturePending (LPC_TIMER_T *pTMR, int8_t capnum)
 Determine if a capture interrupt is pending. More...
 
STATIC INLINE void Chip_TIMER_ClearMatch (LPC_TIMER_T *pTMR, int8_t matchnum)
 Clears a (pending) match interrupt. More...
 
STATIC INLINE void Chip_TIMER_ClearCapture (LPC_TIMER_T *pTMR, int8_t capnum)
 Clears a (pending) capture interrupt. More...
 
STATIC INLINE void Chip_TIMER_Enable (LPC_TIMER_T *pTMR)
 Enables the timer (starts count) More...
 
STATIC INLINE void Chip_TIMER_Disable (LPC_TIMER_T *pTMR)
 Disables the timer (stops count) More...
 
STATIC INLINE uint32_t Chip_TIMER_ReadCount (LPC_TIMER_T *pTMR)
 Returns the current timer count. More...
 
STATIC INLINE uint32_t Chip_TIMER_ReadPrescale (LPC_TIMER_T *pTMR)
 Returns the current prescale count. More...
 
STATIC INLINE void Chip_TIMER_PrescaleSet (LPC_TIMER_T *pTMR, uint32_t prescale)
 Sets the prescaler value. More...
 
STATIC INLINE void Chip_TIMER_SetMatch (LPC_TIMER_T *pTMR, int8_t matchnum, uint32_t matchval)
 Sets a timer match value. More...
 
STATIC INLINE uint32_t Chip_TIMER_ReadCapture (LPC_TIMER_T *pTMR, int8_t capnum)
 Reads a capture register. More...
 
void Chip_TIMER_Reset (LPC_TIMER_T *pTMR)
 Resets the timer terminal and prescale counts to 0. More...
 
STATIC INLINE void Chip_TIMER_MatchEnableInt (LPC_TIMER_T *pTMR, int8_t matchnum)
 Enables a match interrupt that fires when the terminal count matches the match counter value. More...
 
STATIC INLINE void Chip_TIMER_MatchDisableInt (LPC_TIMER_T *pTMR, int8_t matchnum)
 Disables a match interrupt for a match counter. More...
 
STATIC INLINE void Chip_TIMER_ResetOnMatchEnable (LPC_TIMER_T *pTMR, int8_t matchnum)
 For the specific match counter, enables reset of the terminal count register when a match occurs. More...
 
STATIC INLINE void Chip_TIMER_ResetOnMatchDisable (LPC_TIMER_T *pTMR, int8_t matchnum)
 For the specific match counter, disables reset of the terminal count register when a match occurs. More...
 
STATIC INLINE void Chip_TIMER_StopOnMatchEnable (LPC_TIMER_T *pTMR, int8_t matchnum)
 Enable a match timer to stop the terminal count when a match count equals the terminal count. More...
 
STATIC INLINE void Chip_TIMER_StopOnMatchDisable (LPC_TIMER_T *pTMR, int8_t matchnum)
 Disable stop on match for a match timer. Disables a match timer to stop the terminal count when a match count equals the terminal count. More...
 
STATIC INLINE void Chip_TIMER_CaptureRisingEdgeEnable (LPC_TIMER_T *pTMR, int8_t capnum)
 Enables capture on on rising edge of selected CAP signal for the selected capture register, enables the selected CAPn.capnum signal to load the capture register with the terminal coount on a rising edge. More...
 
STATIC INLINE void Chip_TIMER_CaptureRisingEdgeDisable (LPC_TIMER_T *pTMR, int8_t capnum)
 Disables capture on on rising edge of selected CAP signal. For the selected capture register, disables the selected CAPn.capnum signal to load the capture register with the terminal coount on a rising edge. More...
 
STATIC INLINE void Chip_TIMER_CaptureFallingEdgeEnable (LPC_TIMER_T *pTMR, int8_t capnum)
 Enables capture on on falling edge of selected CAP signal. For the selected capture register, enables the selected CAPn.capnum signal to load the capture register with the terminal coount on a falling edge. More...
 
STATIC INLINE void Chip_TIMER_CaptureFallingEdgeDisable (LPC_TIMER_T *pTMR, int8_t capnum)
 Disables capture on on falling edge of selected CAP signal. For the selected capture register, disables the selected CAPn.capnum signal to load the capture register with the terminal coount on a falling edge. More...
 
STATIC INLINE void Chip_TIMER_CaptureEnableInt (LPC_TIMER_T *pTMR, int8_t capnum)
 Enables interrupt on capture of selected CAP signal. For the selected capture register, an interrupt will be generated when the enabled rising or falling edge on CAPn.capnum is detected. More...
 
STATIC INLINE void Chip_TIMER_CaptureDisableInt (LPC_TIMER_T *pTMR, int8_t capnum)
 Disables interrupt on capture of selected CAP signal. More...
 
void Chip_TIMER_ExtMatchControlSet (LPC_TIMER_T *pTMR, int8_t initial_state, TIMER_PIN_MATCH_STATE_T matchState, int8_t matchnum)
 Sets external match control (MATn.matchnum) pin control. For the pin selected with matchnum, sets the function of the pin that occurs on a terminal count match for the match count. More...
 
STATIC INLINE void Chip_TIMER_TIMER_SetCountClockSrc (LPC_TIMER_T *pTMR, TIMER_CAP_SRC_STATE_T capSrc, int8_t capnum)
 Sets timer count source and edge with the selected passed from CapSrc. If CapSrc selected a CAPn pin, select the specific CAPn pin with the capnum value. More...