Руслан Урядинский / libuavcan

Dependents:   UAVCAN UAVCAN_Subscriber

Embed: (wiki syntax)

« Back to documentation index

CHIP: LPC11xx 16/32-bit Timer driver

CHIP: LPC11xx 16/32-bit Timer driver

Data Structures

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

Typedefs

typedef enum
IP_TIMER_PIN_MATCH_STATE 
TIMER_PIN_MATCH_STATE_T
 Standard timer initial match pin state and change state.
typedef enum IP_TIMER_CAP_SRC_STATE TIMER_CAP_SRC_STATE_T
 Standard timer clock and edge for count source.

Enumerations

enum  IP_TIMER_PIN_MATCH_STATE { 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 { 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.
void Chip_TIMER_DeInit (LPC_TIMER_T *pTMR)
 Shutdown a timer.
STATIC INLINE bool Chip_TIMER_MatchPending (LPC_TIMER_T *pTMR, int8_t matchnum)
 Determine if a match interrupt is pending.
STATIC INLINE bool Chip_TIMER_CapturePending (LPC_TIMER_T *pTMR, int8_t capnum)
 Determine if a capture interrupt is pending.
STATIC INLINE void Chip_TIMER_ClearMatch (LPC_TIMER_T *pTMR, int8_t matchnum)
 Clears a (pending) match interrupt.
STATIC INLINE void Chip_TIMER_ClearCapture (LPC_TIMER_T *pTMR, int8_t capnum)
 Clears a (pending) capture interrupt.
STATIC INLINE void Chip_TIMER_Enable (LPC_TIMER_T *pTMR)
 Enables the timer (starts count)
STATIC INLINE void Chip_TIMER_Disable (LPC_TIMER_T *pTMR)
 Disables the timer (stops count)
STATIC INLINE uint32_t Chip_TIMER_ReadCount (LPC_TIMER_T *pTMR)
 Returns the current timer count.
STATIC INLINE uint32_t Chip_TIMER_ReadPrescale (LPC_TIMER_T *pTMR)
 Returns the current prescale count.
STATIC INLINE void Chip_TIMER_PrescaleSet (LPC_TIMER_T *pTMR, uint32_t prescale)
 Sets the prescaler value.
STATIC INLINE void Chip_TIMER_SetMatch (LPC_TIMER_T *pTMR, int8_t matchnum, uint32_t matchval)
 Sets a timer match value.
STATIC INLINE uint32_t Chip_TIMER_ReadCapture (LPC_TIMER_T *pTMR, int8_t capnum)
 Reads a capture register.
void Chip_TIMER_Reset (LPC_TIMER_T *pTMR)
 Resets the timer terminal and prescale counts to 0.
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.
STATIC INLINE void Chip_TIMER_MatchDisableInt (LPC_TIMER_T *pTMR, int8_t matchnum)
 Disables a match interrupt for a match counter.
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.
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.
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.
STATIC INLINE void Chip_TIMER_StopOnMatchDisable (LPC_TIMER_T *pTMR, int8_t matchnum)
 Disable stop on match for a match timer.
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.
STATIC INLINE void Chip_TIMER_CaptureRisingEdgeDisable (LPC_TIMER_T *pTMR, int8_t capnum)
 Disables capture on on rising edge of selected CAP signal.
STATIC INLINE void Chip_TIMER_CaptureFallingEdgeEnable (LPC_TIMER_T *pTMR, int8_t capnum)
 Enables capture on on falling edge of selected CAP signal.
STATIC INLINE void Chip_TIMER_CaptureFallingEdgeDisable (LPC_TIMER_T *pTMR, int8_t capnum)
 Disables capture on on falling edge of selected CAP signal.
STATIC INLINE void Chip_TIMER_CaptureEnableInt (LPC_TIMER_T *pTMR, int8_t capnum)
 Enables interrupt on capture of selected CAP signal.
STATIC INLINE void Chip_TIMER_CaptureDisableInt (LPC_TIMER_T *pTMR, int8_t capnum)
 Disables interrupt on capture of selected CAP signal.
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.
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.

Typedef Documentation

Standard timer clock and edge for count source.

Standard timer initial match pin state and change state.


Enumeration Type Documentation

Standard timer clock and edge for count source.

Enumerator:
TIMER_CAPSRC_RISING_PCLK 

Timer ticks on PCLK rising edge

TIMER_CAPSRC_RISING_CAPN 

Timer ticks on CAPn.x rising edge

TIMER_CAPSRC_FALLING_CAPN 

Timer ticks on CAPn.x falling edge

TIMER_CAPSRC_BOTH_CAPN 

Timer ticks on CAPn.x both edges

Definition at line 415 of file timer_11xx.h.

Standard timer initial match pin state and change state.

Enumerator:
TIMER_EXTMATCH_DO_NOTHING 

Timer match state does nothing on match pin

TIMER_EXTMATCH_CLEAR 

Timer match state sets match pin low

TIMER_EXTMATCH_SET 

Timer match state sets match pin high

TIMER_EXTMATCH_TOGGLE 

Timer match state toggles match pin

Definition at line 390 of file timer_11xx.h.


Function Documentation

STATIC INLINE void Chip_TIMER_CaptureDisableInt ( LPC_TIMER_T pTMR,
int8_t  capnum 
)

Disables interrupt on capture of selected CAP signal.

Parameters:
pTMR: Pointer to timer IP register address
capnum: Capture signal/register to use
Returns:
Nothing

Definition at line 382 of file timer_11xx.h.

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.

Parameters:
pTMR: Pointer to timer IP register address
capnum: Capture signal/register to use
Returns:
Nothing

Definition at line 371 of file timer_11xx.h.

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.

Parameters:
pTMR: Pointer to timer IP register address
capnum: Capture signal/register to use
Returns:
Nothing

Definition at line 358 of file timer_11xx.h.

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.

Parameters:
pTMR: Pointer to timer IP register address
capnum: Capture signal/register to use
Returns:
Nothing

Definition at line 345 of file timer_11xx.h.

STATIC INLINE bool Chip_TIMER_CapturePending ( LPC_TIMER_T pTMR,
int8_t  capnum 
)

Determine if a capture interrupt is pending.

Parameters:
pTMR: Pointer to timer IP register address
capnum: Capture interrupt number to check
Returns:
false if the interrupt is not pending, otherwise true
Note:
Determine if the capture interrupt for the passed capture pin is pending.

Definition at line 125 of file timer_11xx.h.

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.

Parameters:
pTMR: Pointer to timer IP register address
capnum: Capture signal/register to use
Returns:
Nothing

Definition at line 332 of file timer_11xx.h.

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.

Parameters:
pTMR: Pointer to timer IP register address
capnum: Capture signal/register to use
Returns:
Nothing

Definition at line 319 of file timer_11xx.h.

STATIC INLINE void Chip_TIMER_ClearCapture ( LPC_TIMER_T pTMR,
int8_t  capnum 
)

Clears a (pending) capture interrupt.

Parameters:
pTMR: Pointer to timer IP register address
capnum: Capture interrupt number to clear
Returns:
Nothing
Note:
Clears a pending timer capture interrupt.

Definition at line 149 of file timer_11xx.h.

STATIC INLINE void Chip_TIMER_ClearMatch ( LPC_TIMER_T pTMR,
int8_t  matchnum 
)

Clears a (pending) match interrupt.

Parameters:
pTMR: Pointer to timer IP register address
matchnum: Match interrupt number to clear
Returns:
Nothing
Note:
Clears a pending timer match interrupt.

Definition at line 137 of file timer_11xx.h.

void Chip_TIMER_DeInit ( LPC_TIMER_T pTMR )

Shutdown a timer.

Parameters:
pTMR: Pointer to timer IP register address
Returns:
Nothing
STATIC INLINE void Chip_TIMER_Disable ( LPC_TIMER_T pTMR )

Disables the timer (stops count)

Parameters:
pTMR: Pointer to timer IP register address
Returns:
Nothing
Note:
Disables the timer to stop counting.

Definition at line 171 of file timer_11xx.h.

STATIC INLINE void Chip_TIMER_Enable ( LPC_TIMER_T pTMR )

Enables the timer (starts count)

Parameters:
pTMR: Pointer to timer IP register address
Returns:
Nothing
Note:
Enables the timer to start counting.

Definition at line 160 of file timer_11xx.h.

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.

Parameters:
pTMR: Pointer to timer IP register address
initial_state: Initial state of the pin, high(1) or low(0)
matchState: Selects the match state for the pin
matchnum: MATn.matchnum signal to use
Returns:
Nothing
Note:
For the pin selected with matchnum, sets the function of the pin that occurs on a terminal count match for the match count.
void Chip_TIMER_Init ( LPC_TIMER_T pTMR )

Initialize a timer.

Parameters:
pTMR: Pointer to timer IP register address
Returns:
Nothing
STATIC INLINE void Chip_TIMER_MatchDisableInt ( LPC_TIMER_T pTMR,
int8_t  matchnum 
)

Disables a match interrupt for a match counter.

Parameters:
pTMR: Pointer to timer IP register address
matchnum: Match timer, 0 to 3
Returns:
Nothing

Definition at line 260 of file timer_11xx.h.

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.

Parameters:
pTMR: Pointer to timer IP register address
matchnum: Match timer, 0 to 3
Returns:
Nothing

Definition at line 249 of file timer_11xx.h.

STATIC INLINE bool Chip_TIMER_MatchPending ( LPC_TIMER_T pTMR,
int8_t  matchnum 
)

Determine if a match interrupt is pending.

Parameters:
pTMR: Pointer to timer IP register address
matchnum: Match interrupt number to check
Returns:
false if the interrupt is not pending, otherwise true
Note:
Determine if the match interrupt for the passed timer and match counter is pending.

Definition at line 112 of file timer_11xx.h.

STATIC INLINE void Chip_TIMER_PrescaleSet ( LPC_TIMER_T pTMR,
uint32_t  prescale 
)

Sets the prescaler value.

Parameters:
pTMR: Pointer to timer IP register address
prescale: Prescale value to set the prescale register to
Returns:
Nothing
Note:
Sets the prescale count value.

Definition at line 205 of file timer_11xx.h.

STATIC INLINE uint32_t Chip_TIMER_ReadCapture ( LPC_TIMER_T pTMR,
int8_t  capnum 
)

Reads a capture register.

Parameters:
pTMR: Pointer to timer IP register address
capnum: Capture register to read
Returns:
The selected capture register value
Note:
Returns the selected capture register value.

Definition at line 230 of file timer_11xx.h.

STATIC INLINE uint32_t Chip_TIMER_ReadCount ( LPC_TIMER_T pTMR )

Returns the current timer count.

Parameters:
pTMR: Pointer to timer IP register address
Returns:
Current timer terminal count value
Note:
Returns the current timer terminal count.

Definition at line 182 of file timer_11xx.h.

STATIC INLINE uint32_t Chip_TIMER_ReadPrescale ( LPC_TIMER_T pTMR )

Returns the current prescale count.

Parameters:
pTMR: Pointer to timer IP register address
Returns:
Current timer prescale count value
Note:
Returns the current prescale count.

Definition at line 193 of file timer_11xx.h.

void Chip_TIMER_Reset ( LPC_TIMER_T pTMR )

Resets the timer terminal and prescale counts to 0.

Parameters:
pTMR: Pointer to timer IP register address
Returns:
Nothing
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.

Parameters:
pTMR: Pointer to timer IP register address
matchnum: Match timer, 0 to 3
Returns:
Nothing

Definition at line 282 of file timer_11xx.h.

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.

Parameters:
pTMR: Pointer to timer IP register address
matchnum: Match timer, 0 to 3
Returns:
Nothing

Definition at line 271 of file timer_11xx.h.

STATIC INLINE void Chip_TIMER_SetMatch ( LPC_TIMER_T pTMR,
int8_t  matchnum,
uint32_t  matchval 
)

Sets a timer match value.

Parameters:
pTMR: Pointer to timer IP register address
matchnum: Match timer to set match count for
matchval: Match value for the selected match count
Returns:
Nothing
Note:
Sets one of the timer match values.

Definition at line 218 of file timer_11xx.h.

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.

Parameters:
pTMR: Pointer to timer IP register address
matchnum: Match timer, 0 to 3
Returns:
Nothing

Definition at line 306 of file timer_11xx.h.

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.

Parameters:
pTMR: Pointer to timer IP register address
matchnum: Match timer, 0 to 3
Returns:
Nothing

Definition at line 294 of file timer_11xx.h.

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.

Parameters:
pTMR: Pointer to timer IP register address
capSrc: timer clock source and edge
capnum: CAPn.capnum pin to use (if used)
Returns:
Nothing
Note:
If CapSrc selected a CAPn pin, select the specific CAPn pin with the capnum value.

Definition at line 431 of file timer_11xx.h.