NANO103 BSP V3.01.004
The Board Support Package for Nano103 Series
Macros | Functions
Collaboration diagram for TIMER Exported Functions:

Macros

#define TIMER_SET_CMP_VALUE(timer, u32Value)
 This macro is used to set new Timer compared value. More...
 
#define TIMER_SET_PRESCALE_VALUE(timer, u32Value)
 This macro is used to set new Timer prescale value. More...
 
#define TIMER_IS_ACTIVE(timer)
 This macro is used to check if specify Timer is inactive or active. More...
 

Functions

__STATIC_INLINE void TIMER_Start (TIMER_T *timer)
 This function is used to start Timer counting. More...
 
__STATIC_INLINE void TIMER_Stop (TIMER_T *timer)
 This function is used to stop Timer counting. More...
 
__STATIC_INLINE void TIMER_EnableWakeup (TIMER_T *timer)
 This function is used to enable the Timer wake-up function. More...
 
__STATIC_INLINE void TIMER_DisableWakeup (TIMER_T *timer)
 This function is used to disable the Timer wake-up function. More...
 
__STATIC_INLINE void TIMER_EnableCaptureDebounce (TIMER_T *timer)
 This function is used to enable the capture pin detection de-bounce function. More...
 
__STATIC_INLINE void TIMER_DisableCaptureDebounce (TIMER_T *timer)
 This function is used to disable the capture pin detection de-bounce function. More...
 
__STATIC_INLINE void TIMER_EnableEventCounterDebounce (TIMER_T *timer)
 This function is used to enable the counter pin detection de-bounce function. More...
 
__STATIC_INLINE void TIMER_DisableEventCounterDebounce (TIMER_T *timer)
 This function is used to disable the counter pin detection de-bounce function. More...
 
__STATIC_INLINE void TIMER_EnableInt (TIMER_T *timer)
 This function is used to enable the Timer time-out interrupt function. More...
 
__STATIC_INLINE void TIMER_DisableInt (TIMER_T *timer)
 This function is used to disable the Timer time-out interrupt function. More...
 
__STATIC_INLINE void TIMER_EnableCaptureInt (TIMER_T *timer)
 This function is used to enable the Timer capture trigger interrupt function. More...
 
__STATIC_INLINE void TIMER_DisableCaptureInt (TIMER_T *timer)
 This function is used to disable the Timer capture trigger interrupt function. More...
 
__STATIC_INLINE uint32_t TIMER_GetIntFlag (TIMER_T *timer)
 This function indicates Timer time-out interrupt occurred or not. More...
 
__STATIC_INLINE void TIMER_ClearIntFlag (TIMER_T *timer)
 This function clears the Timer time-out interrupt flag. More...
 
__STATIC_INLINE uint32_t TIMER_GetCaptureIntFlag (TIMER_T *timer)
 This function indicates Timer capture interrupt occurred or not. More...
 
__STATIC_INLINE void TIMER_ClearCaptureIntFlag (TIMER_T *timer)
 This function clears the Timer capture interrupt flag. More...
 
__STATIC_INLINE uint32_t TIMER_GetWakeupFlag (TIMER_T *timer)
 This function indicates Timer has waked up system or not. More...
 
__STATIC_INLINE void TIMER_ClearWakeupFlag (TIMER_T *timer)
 This function clears the Timer wakeup interrupt flag. More...
 
__STATIC_INLINE uint32_t TIMER_GetCaptureData (TIMER_T *timer)
 This function gets the Timer capture data. More...
 
__STATIC_INLINE uint32_t TIMER_GetCounter (TIMER_T *timer)
 This function reports the current timer counter value. More...
 
uint32_t TIMER_Open (TIMER_T *timer, uint32_t u32Mode, uint32_t u32Freq)
 This API is used to configure timer to operate in specified mode and frequency. If timer cannot work in target frequency, a closest frequency will be chose and returned. More...
 
void TIMER_Close (TIMER_T *timer)
 This API stops Timer counting and disable the Timer interrupt function. More...
 
int32_t TIMER_Delay (TIMER_T *timer, uint32_t u32Usec)
 This API is used to create a delay loop for u32usec micro seconds. More...
 
void TIMER_EnableCapture (TIMER_T *timer, uint32_t u32CapMode, uint32_t u32Edge)
 This API is used to enable timer capture function with specified mode and capture edge. More...
 
void TIMER_DisableCapture (TIMER_T *timer)
 This API is used to disable the Timer capture function. More...
 
void TIMER_EnableEventCounter (TIMER_T *timer, uint32_t u32Edge)
 This function is used to enable the Timer counter function with specify detection edge. More...
 
void TIMER_DisableEventCounter (TIMER_T *timer)
 This API is used to disable the Timer event counter function. More...
 
uint32_t TIMER_GetModuleClock (TIMER_T *timer)
 This API is used to get the clock frequency of Timer. More...
 
void TIMER_ResetCounter (TIMER_T *timer)
 This function is used to reset the Timer counter value. More...
 
void TIMER_EnableFreqCounter (TIMER_T *timer, uint32_t u32DropCount, uint32_t u32Timeout, uint32_t u32EnableInt)
 This function is used to enable the Timer frequency counter function. More...
 
void TIMER_DisableFreqCounter (TIMER_T *timer)
 This function is used to disable the Timer frequency counter function. More...
 
void TIMER_SetTriggerSource (TIMER_T *timer, uint32_t u32Src)
 This function is used to select the interrupt source used to trigger other modules. More...
 
void TIMER_SetTriggerTarget (TIMER_T *timer, uint32_t u32Mask)
 This function is used to set modules trigger by timer interrupt. More...
 

Detailed Description

Macro Definition Documentation

◆ TIMER_IS_ACTIVE

#define TIMER_IS_ACTIVE (   timer)

This macro is used to check if specify Timer is inactive or active.

Returns
timer is activate or inactivate
Return values
0Timer 24-bit up counter is inactive
1Timer 24-bit up counter is active

Definition at line 88 of file timer.h.

◆ TIMER_SET_CMP_VALUE

#define TIMER_SET_CMP_VALUE (   timer,
  u32Value 
)

This macro is used to set new Timer compared value.

Parameters
[in]timerThe base address of Timer module
[in]u32ValueTimer compare value. Valid values are between 2 to 0xFFFFFF
Returns
None

Definition at line 69 of file timer.h.

◆ TIMER_SET_PRESCALE_VALUE

#define TIMER_SET_PRESCALE_VALUE (   timer,
  u32Value 
)

This macro is used to set new Timer prescale value.

Parameters
[in]timerThe base address of Timer module
[in]u32ValueTimer prescale value. Valid values are between 0 to 0xFF
Returns
None
Note
Clock input is divided by (prescale + 1) before it is fed into timer

Definition at line 79 of file timer.h.

Function Documentation

◆ TIMER_ClearCaptureIntFlag()

__STATIC_INLINE void TIMER_ClearCaptureIntFlag ( TIMER_T timer)

This function clears the Timer capture interrupt flag.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 253 of file timer.h.

◆ TIMER_ClearIntFlag()

__STATIC_INLINE void TIMER_ClearIntFlag ( TIMER_T timer)

This function clears the Timer time-out interrupt flag.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 231 of file timer.h.

◆ TIMER_ClearWakeupFlag()

__STATIC_INLINE void TIMER_ClearWakeupFlag ( TIMER_T timer)

This function clears the Timer wakeup interrupt flag.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 275 of file timer.h.

◆ TIMER_Close()

void TIMER_Close ( TIMER_T timer)

This API stops Timer counting and disable the Timer interrupt function.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 74 of file timer.c.

◆ TIMER_Delay()

int32_t TIMER_Delay ( TIMER_T timer,
uint32_t  u32Usec 
)

This API is used to create a delay loop for u32usec micro seconds.

Parameters
[in]timerThe base address of Timer module
[in]u32UsecDelay period in micro seconds with 10 usec every step. Valid values are between 10~1000000 (10 micro second ~ 1 second)
Returns
Delay success or not
Return values
0Success, target delay time reached
TIMER_TIMEOUT_ERRDelay function execute failed due to timer stop working
Note
This API overwrites the register setting of the timer used to count the delay time.
This API use polling mode. So there is no need to enable interrupt for the timer module used to generate delay

Definition at line 91 of file timer.c.

Here is the call graph for this function:

◆ TIMER_DisableCapture()

void TIMER_DisableCapture ( TIMER_T timer)

This API is used to disable the Timer capture function.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 183 of file timer.c.

◆ TIMER_DisableCaptureDebounce()

__STATIC_INLINE void TIMER_DisableCaptureDebounce ( TIMER_T timer)

This function is used to disable the capture pin detection de-bounce function.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 148 of file timer.h.

◆ TIMER_DisableCaptureInt()

__STATIC_INLINE void TIMER_DisableCaptureInt ( TIMER_T timer)

This function is used to disable the Timer capture trigger interrupt function.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 209 of file timer.h.

◆ TIMER_DisableEventCounter()

void TIMER_DisableEventCounter ( TIMER_T timer)

This API is used to disable the Timer event counter function.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 209 of file timer.c.

◆ TIMER_DisableEventCounterDebounce()

__STATIC_INLINE void TIMER_DisableEventCounterDebounce ( TIMER_T timer)

This function is used to disable the counter pin detection de-bounce function.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 169 of file timer.h.

◆ TIMER_DisableFreqCounter()

void TIMER_DisableFreqCounter ( TIMER_T timer)

This function is used to disable the Timer frequency counter function.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 331 of file timer.c.

◆ TIMER_DisableInt()

__STATIC_INLINE void TIMER_DisableInt ( TIMER_T timer)

This function is used to disable the Timer time-out interrupt function.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 189 of file timer.h.

◆ TIMER_DisableWakeup()

__STATIC_INLINE void TIMER_DisableWakeup ( TIMER_T timer)

This function is used to disable the Timer wake-up function.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 127 of file timer.h.

◆ TIMER_EnableCapture()

void TIMER_EnableCapture ( TIMER_T timer,
uint32_t  u32CapMode,
uint32_t  u32Edge 
)

This API is used to enable timer capture function with specified mode and capture edge.

Parameters
[in]timerThe base address of Timer module
[in]u32CapModeTimer capture mode. Could be
[in]u32EdgeTimer capture edge. Possible values are
Returns
None
Note
Timer frequency should be configured separately by using TIMER_Open API, or program registers directly

Definition at line 169 of file timer.c.

◆ TIMER_EnableCaptureDebounce()

__STATIC_INLINE void TIMER_EnableCaptureDebounce ( TIMER_T timer)

This function is used to enable the capture pin detection de-bounce function.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 138 of file timer.h.

◆ TIMER_EnableCaptureInt()

__STATIC_INLINE void TIMER_EnableCaptureInt ( TIMER_T timer)

This function is used to enable the Timer capture trigger interrupt function.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 199 of file timer.h.

◆ TIMER_EnableEventCounter()

void TIMER_EnableEventCounter ( TIMER_T timer,
uint32_t  u32Edge 
)

This function is used to enable the Timer counter function with specify detection edge.

Parameters
[in]timerThe base address of Timer module
[in]u32EdgeDetection edge of counter pin. Could be ether
Returns
None
Note
Timer compare value should be configured separately by using TIMER_SET_CMP_VALUE macro or program registers directly

Definition at line 198 of file timer.c.

◆ TIMER_EnableEventCounterDebounce()

__STATIC_INLINE void TIMER_EnableEventCounterDebounce ( TIMER_T timer)

This function is used to enable the counter pin detection de-bounce function.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 159 of file timer.h.

◆ TIMER_EnableFreqCounter()

void TIMER_EnableFreqCounter ( TIMER_T timer,
uint32_t  u32DropCount,
uint32_t  u32Timeout,
uint32_t  u32EnableInt 
)

This function is used to enable the Timer frequency counter function.

Parameters
[in]timerThe base address of Timer module. Can be TIMER0 or TIMER2
[in]u32DropCountSet the event needs to drop before starting to measure event frequency. Valid value is between 0~0xFF
[in]u32TimeoutSet the timeout value before stop the frequency counter. No matter timer has sufficient sample count or not. The unit is timer clock and valid range is between 2~0xFFFFFF. Input 0 or 1 means disable timeout function.
[in]u32EnableIntEnable interrupt assertion after capture complete or not. Valid values are TRUE and FALSE
Returns
None

This function is used to calculate input event frequency. After enable this function, a pair of timers, TIMER0 and TIMER1, or TIMER2 and TIMER3 will be configured for this function. The mode used to calculate input event frequency is mentioned as "Inter Timer Trigger Mode" in Technical Reference Manual

Note
If drop count is not 0, a valid timeout value (between 2~0xFFFFFF) must be provided.

Definition at line 304 of file timer.c.

◆ TIMER_EnableInt()

__STATIC_INLINE void TIMER_EnableInt ( TIMER_T timer)

This function is used to enable the Timer time-out interrupt function.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 179 of file timer.h.

◆ TIMER_EnableWakeup()

__STATIC_INLINE void TIMER_EnableWakeup ( TIMER_T timer)

This function is used to enable the Timer wake-up function.

Parameters
[in]timerThe base address of Timer module
Returns
None
Note
To wake the system from power down mode, timer clock source must be ether LXT or LIRC

Definition at line 117 of file timer.h.

◆ TIMER_GetCaptureData()

__STATIC_INLINE uint32_t TIMER_GetCaptureData ( TIMER_T timer)

This function gets the Timer capture data.

Parameters
[in]timerThe base address of Timer module
Returns
Timer capture data value

Definition at line 285 of file timer.h.

◆ TIMER_GetCaptureIntFlag()

__STATIC_INLINE uint32_t TIMER_GetCaptureIntFlag ( TIMER_T timer)

This function indicates Timer capture interrupt occurred or not.

Parameters
[in]timerThe base address of Timer module
Returns
Timer capture interrupt occurred or not
Return values
0Timer capture interrupt did not occur
1Timer capture interrupt occurred

Definition at line 243 of file timer.h.

◆ TIMER_GetCounter()

__STATIC_INLINE uint32_t TIMER_GetCounter ( TIMER_T timer)

This function reports the current timer counter value.

Parameters
[in]timerThe base address of Timer module
Returns
Timer counter value

Definition at line 295 of file timer.h.

◆ TIMER_GetIntFlag()

__STATIC_INLINE uint32_t TIMER_GetIntFlag ( TIMER_T timer)

This function indicates Timer time-out interrupt occurred or not.

Parameters
[in]timerThe base address of Timer module
Returns
Timer time-out interrupt occurred or not
Return values
0Timer time-out interrupt did not occur
1Timer time-out interrupt occurred

Definition at line 221 of file timer.h.

◆ TIMER_GetModuleClock()

uint32_t TIMER_GetModuleClock ( TIMER_T timer)

This API is used to get the clock frequency of Timer.

Parameters
[in]timerThe base address of Timer module
Returns
Timer clock frequency
Note
This API cannot return correct clock rate if timer source is external clock input.

Definition at line 220 of file timer.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TIMER_GetWakeupFlag()

__STATIC_INLINE uint32_t TIMER_GetWakeupFlag ( TIMER_T timer)

This function indicates Timer has waked up system or not.

Parameters
[in]timerThe base address of Timer module
Returns
Timer has waked up system or not
Return values
0Timer did not wake up system
1Timer wake up system

Definition at line 265 of file timer.h.

◆ TIMER_Open()

uint32_t TIMER_Open ( TIMER_T timer,
uint32_t  u32Mode,
uint32_t  u32Freq 
)

This API is used to configure timer to operate in specified mode and frequency. If timer cannot work in target frequency, a closest frequency will be chose and returned.

Parameters
[in]timerThe base address of Timer module
[in]u32ModeOperation mode. Possible options are
[in]u32FreqTarget working frequency
Returns
Real Timer working frequency
Note
After calling this API, Timer is NOT running yet. But could start timer running be calling TIMER_Start macro or program registers directly

Definition at line 42 of file timer.c.

Here is the call graph for this function:

◆ TIMER_ResetCounter()

void TIMER_ResetCounter ( TIMER_T timer)

This function is used to reset the Timer counter value.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 281 of file timer.c.

◆ TIMER_SetTriggerSource()

void TIMER_SetTriggerSource ( TIMER_T timer,
uint32_t  u32Src 
)

This function is used to select the interrupt source used to trigger other modules.

Parameters
[in]timerThe base address of Timer module
[in]u32SrcSelects the interrupt source to trigger other modules. Could be:
Returns
None

Definition at line 344 of file timer.c.

◆ TIMER_SetTriggerTarget()

void TIMER_SetTriggerTarget ( TIMER_T timer,
uint32_t  u32Mask 
)

This function is used to set modules trigger by timer interrupt.

Parameters
[in]timerThe base address of Timer module
[in]u32MaskThe mask of modules (ADC ,PDMA and PWM) trigger by timer. Is the combination of
Returns
None

Definition at line 358 of file timer.c.

◆ TIMER_Start()

__STATIC_INLINE void TIMER_Start ( TIMER_T timer)

This function is used to start Timer counting.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 96 of file timer.h.

◆ TIMER_Stop()

__STATIC_INLINE void TIMER_Stop ( TIMER_T timer)

This function is used to stop Timer counting.

Parameters
[in]timerThe base address of Timer module
Returns
None

Definition at line 106 of file timer.h.