LPCOpen Platform
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
timer_001.h File Reference
#include "sys_config.h"
#include "cmsis.h"

Go to the source code of this file.

Data Structures

struct  IP_TIMER_001_Type
 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  IP_TIMER_PIN_MATCH_STATE_Type { 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  IP_TIMER_CAP_SRC_STATE_Type { 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

STATIC INLINE bool IP_TIMER_MatchPending (IP_TIMER_001_Type *timer, int8_t matchnum)
 Determine if a match interrupt is pending.
 
STATIC INLINE bool IP_TIMER_CapturePending (IP_TIMER_001_Type *timer, int8_t capnum)
 Determine if a capture interrupt is pending.
 
STATIC INLINE void IP_TIMER_ClearMatch (IP_TIMER_001_Type *timer, int8_t matchnum)
 Clears a (pending) match interrupt.
 
STATIC INLINE void IP_TIMER_ClearCapture (IP_TIMER_001_Type *timer, int8_t capnum)
 Clears a (pending) capture interrupt.
 
STATIC INLINE void IP_TIMER_Enable (IP_TIMER_001_Type *timer)
 Enables the timer (starts count)
 
STATIC INLINE void IP_TIMER_Disable (IP_TIMER_001_Type *timer)
 Disables the timer (stops count)
 
STATIC INLINE uint32_t IP_TIMER_ReadCount (IP_TIMER_001_Type *timer)
 Returns the current timer count.
 
STATIC INLINE uint32_t IP_TIMER_ReadPrescale (IP_TIMER_001_Type *timer)
 Returns the current prescale count.
 
STATIC INLINE void IP_TIMER_PrescaleSet (IP_TIMER_001_Type *timer, uint32_t prescale)
 Sets the prescaler value.
 
STATIC INLINE void IP_TIMER_SetMatch (IP_TIMER_001_Type *timer, int8_t matchnum, uint32_t matchval)
 Sets a timer match value.
 
STATIC INLINE uint32_t IP_TIMER_ReadCapture (IP_TIMER_001_Type *timer, int8_t capnum)
 Reads a capture register.
 
void IP_TIMER_Reset (IP_TIMER_001_Type *timer)
 Resets the timer terminal and prescale counts to 0.
 
STATIC INLINE void IP_TIMER_MatchEnableInt (IP_TIMER_001_Type *timer, int8_t matchnum)
 Enables a match interrupt that fires when the terminal count matches the match counter value.
 
STATIC INLINE void IP_TIMER_MatchDisableInt (IP_TIMER_001_Type *timer, int8_t matchnum)
 Disables a match interrupt for a match counter.
 
STATIC INLINE void IP_TIMER_ResetOnMatchEnable (IP_TIMER_001_Type *timer, int8_t matchnum)
 For the specific match counter, enables reset of the terminal count register when a match occurs.
 
STATIC INLINE void IP_TIMER_ResetOnMatchDisable (IP_TIMER_001_Type *timer, int8_t matchnum)
 For the specific match counter, disables reset of the terminal count register when a match occurs.
 
STATIC INLINE void IP_TIMER_StopOnMatchEnable (IP_TIMER_001_Type *timer, int8_t matchnum)
 Enable a match timer to stop the terminal count when a match count equals the terminal count.
 
STATIC INLINE void IP_TIMER_StopOnMatchDisable (IP_TIMER_001_Type *timer, 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.
 
STATIC INLINE void IP_TIMER_CaptureRisingEdgeEnable (IP_TIMER_001_Type *timer, 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.
 
STATIC INLINE void IP_TIMER_CaptureRisingEdgeDisable (IP_TIMER_001_Type *timer, 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.
 
STATIC INLINE void IP_TIMER_CaptureFallingEdgeEnable (IP_TIMER_001_Type *timer, 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.
 
STATIC INLINE void IP_TIMER_CaptureFallingEdgeDisable (IP_TIMER_001_Type *timer, 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.
 
STATIC INLINE void IP_TIMER_CaptureEnableInt (IP_TIMER_001_Type *timer, 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.
 
STATIC INLINE void IP_TIMER_CaptureDisableInt (IP_TIMER_001_Type *timer, int8_t capnum)
 Disables interrupt on capture of selected CAP signal.
 
void IP_TIMER_ExtMatchControlSet (IP_TIMER_001_Type *timer, int8_t initial_state, IP_TIMER_PIN_MATCH_STATE_Type matchState, int8_t matchnum)
 Sets external match control (MATn.matchnum) pin control.
 
void IP_TIMER_SetCountClockSrc (IP_TIMER_001_Type *timer, IP_TIMER_CAP_SRC_STATE_Type capSrc, int8_t capnum)
 Sets timer count source and edge with the selected passed from CapSrc.