Hardware access layer for accessing the timer peripheral. More...
Macros |
|
| #define | TIMER_MAX_SIZE (id) CONCAT_3(TIMER, id, _MAX_SIZE) |
|
Macro for validating the correctness of the BIT_WIDTH setting.
|
|
| #define | TIMER_BIT_WIDTH_MAX (id, bit_width) |
| #define | NRF_TIMER_IS_BIT_WIDTH_VALID (p_reg, bit_width) |
| #define | NRF_TIMER_CC_CHANNEL_COUNT (id) CONCAT_3(TIMER, id, _CC_NUM) |
|
Macro for getting the number of capture/compare channels available in a given timer instance.
|
|
Enumerations |
|
| enum |
nrf_timer_task_t
{
NRF_TIMER_TASK_START = offsetof(NRF_TIMER_Type, TASKS_START), NRF_TIMER_TASK_STOP = offsetof(NRF_TIMER_Type, TASKS_STOP), NRF_TIMER_TASK_COUNT = offsetof(NRF_TIMER_Type, TASKS_COUNT), NRF_TIMER_TASK_CLEAR = offsetof(NRF_TIMER_Type, TASKS_CLEAR), NRF_TIMER_TASK_SHUTDOWN = offsetof(NRF_TIMER_Type, TASKS_SHUTDOWN), NRF_TIMER_TASK_CAPTURE0 = offsetof(NRF_TIMER_Type, TASKS_CAPTURE[0]), NRF_TIMER_TASK_CAPTURE1 = offsetof(NRF_TIMER_Type, TASKS_CAPTURE[1]), NRF_TIMER_TASK_CAPTURE2 = offsetof(NRF_TIMER_Type, TASKS_CAPTURE[2]), NRF_TIMER_TASK_CAPTURE3 = offsetof(NRF_TIMER_Type, TASKS_CAPTURE[3]), NRF_TIMER_TASK_CAPTURE4 = offsetof(NRF_TIMER_Type, TASKS_CAPTURE[4]), NRF_TIMER_TASK_CAPTURE5 = offsetof(NRF_TIMER_Type, TASKS_CAPTURE[5]) } |
|
Timer tasks.
More...
|
|
| enum |
nrf_timer_event_t
{
NRF_TIMER_EVENT_COMPARE0 = offsetof(NRF_TIMER_Type, EVENTS_COMPARE[0]), NRF_TIMER_EVENT_COMPARE1 = offsetof(NRF_TIMER_Type, EVENTS_COMPARE[1]), NRF_TIMER_EVENT_COMPARE2 = offsetof(NRF_TIMER_Type, EVENTS_COMPARE[2]), NRF_TIMER_EVENT_COMPARE3 = offsetof(NRF_TIMER_Type, EVENTS_COMPARE[3]), NRF_TIMER_EVENT_COMPARE4 = offsetof(NRF_TIMER_Type, EVENTS_COMPARE[4]), NRF_TIMER_EVENT_COMPARE5 = offsetof(NRF_TIMER_Type, EVENTS_COMPARE[5]) } |
|
Timer events.
More...
|
|
| enum |
nrf_timer_short_mask_t
{
NRF_TIMER_SHORT_COMPARE0_STOP_MASK = TIMER_SHORTS_COMPARE0_STOP_Msk, NRF_TIMER_SHORT_COMPARE1_STOP_MASK = TIMER_SHORTS_COMPARE1_STOP_Msk, NRF_TIMER_SHORT_COMPARE2_STOP_MASK = TIMER_SHORTS_COMPARE2_STOP_Msk, NRF_TIMER_SHORT_COMPARE3_STOP_MASK = TIMER_SHORTS_COMPARE3_STOP_Msk, NRF_TIMER_SHORT_COMPARE4_STOP_MASK = TIMER_SHORTS_COMPARE4_STOP_Msk, NRF_TIMER_SHORT_COMPARE5_STOP_MASK = TIMER_SHORTS_COMPARE5_STOP_Msk, NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK = TIMER_SHORTS_COMPARE0_CLEAR_Msk, NRF_TIMER_SHORT_COMPARE1_CLEAR_MASK = TIMER_SHORTS_COMPARE1_CLEAR_Msk, NRF_TIMER_SHORT_COMPARE2_CLEAR_MASK = TIMER_SHORTS_COMPARE2_CLEAR_Msk, NRF_TIMER_SHORT_COMPARE3_CLEAR_MASK = TIMER_SHORTS_COMPARE3_CLEAR_Msk, NRF_TIMER_SHORT_COMPARE4_CLEAR_MASK = TIMER_SHORTS_COMPARE4_CLEAR_Msk, NRF_TIMER_SHORT_COMPARE5_CLEAR_MASK = TIMER_SHORTS_COMPARE5_CLEAR_Msk } |
|
Types of timer shortcuts.
More...
|
|
| enum |
nrf_timer_mode_t
{
NRF_TIMER_MODE_TIMER = TIMER_MODE_MODE_Timer, NRF_TIMER_MODE_COUNTER = TIMER_MODE_MODE_Counter, NRF_TIMER_MODE_LOW_POWER_COUNTER = TIMER_MODE_MODE_LowPowerCounter } |
|
Timer modes.
More...
|
|
| enum |
nrf_timer_bit_width_t
{
NRF_TIMER_BIT_WIDTH_8 = TIMER_BITMODE_BITMODE_08Bit, NRF_TIMER_BIT_WIDTH_16 = TIMER_BITMODE_BITMODE_16Bit, NRF_TIMER_BIT_WIDTH_24 = TIMER_BITMODE_BITMODE_24Bit, NRF_TIMER_BIT_WIDTH_32 = TIMER_BITMODE_BITMODE_32Bit } |
|
Timer bit width.
More...
|
|
| enum |
nrf_timer_frequency_t
{
NRF_TIMER_FREQ_16MHz = 0, NRF_TIMER_FREQ_8MHz , NRF_TIMER_FREQ_4MHz , NRF_TIMER_FREQ_2MHz , NRF_TIMER_FREQ_1MHz , NRF_TIMER_FREQ_500kHz , NRF_TIMER_FREQ_250kHz , NRF_TIMER_FREQ_125kHz , NRF_TIMER_FREQ_62500Hz , NRF_TIMER_FREQ_31250Hz } |
|
Timer prescalers.
More...
|
|
| enum |
nrf_timer_cc_channel_t
{
NRF_TIMER_CC_CHANNEL0 = 0, NRF_TIMER_CC_CHANNEL1 , NRF_TIMER_CC_CHANNEL2 , NRF_TIMER_CC_CHANNEL3 , NRF_TIMER_CC_CHANNEL4 , NRF_TIMER_CC_CHANNEL5 } |
|
Timer capture/compare channels.
More...
|
|
| enum |
nrf_timer_int_mask_t
{
NRF_TIMER_INT_COMPARE0_MASK = TIMER_INTENSET_COMPARE0_Msk, NRF_TIMER_INT_COMPARE1_MASK = TIMER_INTENSET_COMPARE1_Msk, NRF_TIMER_INT_COMPARE2_MASK = TIMER_INTENSET_COMPARE2_Msk, NRF_TIMER_INT_COMPARE3_MASK = TIMER_INTENSET_COMPARE3_Msk, NRF_TIMER_INT_COMPARE4_MASK = TIMER_INTENSET_COMPARE4_Msk, NRF_TIMER_INT_COMPARE5_MASK = TIMER_INTENSET_COMPARE5_Msk } |
|
Timer interrupts.
More...
|
|
Functions |
|
| __STATIC_INLINE void | nrf_timer_task_trigger (NRF_TIMER_Type *p_reg, nrf_timer_task_t task) |
|
Function for activating a specific timer task.
More...
|
|
| __STATIC_INLINE uint32_t * | nrf_timer_task_address_get (NRF_TIMER_Type *p_reg, nrf_timer_task_t task) |
|
Function for getting the address of a specific timer task register.
More...
|
|
| __STATIC_INLINE void | nrf_timer_event_clear (NRF_TIMER_Type *p_reg, nrf_timer_event_t event) |
|
Function for clearing a specific timer event.
More...
|
|
| __STATIC_INLINE bool | nrf_timer_event_check (NRF_TIMER_Type *p_reg, nrf_timer_event_t event) |
|
Function for checking the state of a specific timer event.
More...
|
|
| __STATIC_INLINE uint32_t * | nrf_timer_event_address_get (NRF_TIMER_Type *p_reg, nrf_timer_event_t event) |
|
Function for getting the address of a specific timer event register.
More...
|
|
| __STATIC_INLINE void | nrf_timer_shorts_enable (NRF_TIMER_Type *p_reg, uint32_t timer_shorts_mask) |
|
Function for enabling specified shortcuts.
More...
|
|
| __STATIC_INLINE void | nrf_timer_shorts_disable (NRF_TIMER_Type *p_reg, uint32_t timer_shorts_mask) |
|
Function for disabling specified shortcuts.
More...
|
|
| __STATIC_INLINE void | nrf_timer_int_enable (NRF_TIMER_Type *p_reg, uint32_t timer_int_mask) |
|
Function for enabling specified interrupts.
More...
|
|
| __STATIC_INLINE void | nrf_timer_int_disable (NRF_TIMER_Type *p_reg, uint32_t timer_int_mask) |
|
Function for disabling specified interrupts.
More...
|
|
| __STATIC_INLINE bool | nrf_timer_int_enable_check (NRF_TIMER_Type *p_reg, uint32_t timer_int) |
|
Function for retrieving the state of a given interrupt.
More...
|
|
| __STATIC_INLINE void | nrf_timer_mode_set (NRF_TIMER_Type *p_reg, nrf_timer_mode_t mode) |
|
Function for setting the timer mode.
More...
|
|
| __STATIC_INLINE nrf_timer_mode_t | nrf_timer_mode_get (NRF_TIMER_Type *p_reg) |
|
Function for retrieving the timer mode.
More...
|
|
| __STATIC_INLINE void | nrf_timer_bit_width_set (NRF_TIMER_Type *p_reg, nrf_timer_bit_width_t bit_width) |
|
Function for setting the timer bit width.
More...
|
|
|
__STATIC_INLINE
nrf_timer_bit_width_t |
nrf_timer_bit_width_get (NRF_TIMER_Type *p_reg) |
|
Function for retrieving the timer bit width.
More...
|
|
| __STATIC_INLINE void | nrf_timer_frequency_set (NRF_TIMER_Type *p_reg, nrf_timer_frequency_t frequency) |
|
Function for setting the timer frequency.
More...
|
|
|
__STATIC_INLINE
nrf_timer_frequency_t |
nrf_timer_frequency_get (NRF_TIMER_Type *p_reg) |
|
Function for retrieving the timer frequency.
More...
|
|
| __STATIC_INLINE void | nrf_timer_cc_write (NRF_TIMER_Type *p_reg, nrf_timer_cc_channel_t cc_channel, uint32_t cc_value) |
|
Function for writing the capture/compare register for a specified channel.
More...
|
|
| __STATIC_INLINE uint32_t | nrf_timer_cc_read (NRF_TIMER_Type *p_reg, nrf_timer_cc_channel_t cc_channel) |
|
Function for retrieving the capture/compare value for a specified channel.
More...
|
|
| __STATIC_INLINE nrf_timer_task_t | nrf_timer_capture_task_get (uint32_t channel) |
|
Function for getting a specific timer capture task.
More...
|
|
| __STATIC_INLINE nrf_timer_event_t | nrf_timer_compare_event_get (uint32_t channel) |
|
Function for getting a specific timer compare event.
More...
|
|
|
__STATIC_INLINE
nrf_timer_int_mask_t |
nrf_timer_compare_int_get (uint32_t channel) |
|
Function for getting a specific timer compare interrupt.
More...
|
|
| __STATIC_INLINE uint32_t | nrf_timer_us_to_ticks (uint32_t time_us, nrf_timer_frequency_t frequency) |
|
Function for calculating the number of timer ticks for a given time (in microseconds) and timer frequency.
More...
|
|
| __STATIC_INLINE uint32_t | nrf_timer_ms_to_ticks (uint32_t time_ms, nrf_timer_frequency_t frequency) |
|
Function for calculating the number of timer ticks for a given time (in milliseconds) and timer frequency.
More...
|
|
Detailed Description
Hardware access layer for accessing the timer peripheral.
Macro Definition Documentation
| #define NRF_TIMER_IS_BIT_WIDTH_VALID | ( | p_reg, | |
| bit_width | |||
| ) |
| #define TIMER_BIT_WIDTH_MAX | ( | id, | |
| bit_width | |||
| ) |
Enumeration Type Documentation
Timer capture/compare channels.
| enum nrf_timer_event_t |
Timer events.
Timer prescalers.
| enum nrf_timer_int_mask_t |
Timer interrupts.
| enum nrf_timer_mode_t |
Types of timer shortcuts.
| enum nrf_timer_task_t |
Timer tasks.
Function Documentation
| __STATIC_INLINE nrf_timer_bit_width_t nrf_timer_bit_width_get | ( | NRF_TIMER_Type * | p_reg | ) |
Function for retrieving the timer bit width.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure.
- Returns
- Timer bit width.
| __STATIC_INLINE void nrf_timer_bit_width_set | ( | NRF_TIMER_Type * | p_reg , |
| nrf_timer_bit_width_t | bit_width | ||
| ) |
Function for setting the timer bit width.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] bit_width Timer bit width.
| __STATIC_INLINE nrf_timer_task_t nrf_timer_capture_task_get | ( | uint32_t | channel | ) |
Function for getting a specific timer capture task.
- Parameters
-
[in] channel Capture channel.
- Returns
- Capture task.
| __STATIC_INLINE uint32_t nrf_timer_cc_read | ( | NRF_TIMER_Type * | p_reg , |
| nrf_timer_cc_channel_t | cc_channel | ||
| ) |
Function for retrieving the capture/compare value for a specified channel.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] cc_channel Requested capture/compare channel.
- Returns
- Value from the requested capture/compare register.
| __STATIC_INLINE void nrf_timer_cc_write | ( | NRF_TIMER_Type * | p_reg , |
| nrf_timer_cc_channel_t | cc_channel , | ||
| uint32_t | cc_value | ||
| ) |
Function for writing the capture/compare register for a specified channel.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] cc_channel Requested capture/compare channel. [in] cc_value Value to write to the capture/compare register.
| __STATIC_INLINE nrf_timer_event_t nrf_timer_compare_event_get | ( | uint32_t | channel | ) |
Function for getting a specific timer compare event.
- Parameters
-
[in] channel Compare channel.
- Returns
- Compare event.
| __STATIC_INLINE nrf_timer_int_mask_t nrf_timer_compare_int_get | ( | uint32_t | channel | ) |
Function for getting a specific timer compare interrupt.
- Parameters
-
[in] channel Compare channel.
- Returns
- Compare interrupt.
| __STATIC_INLINE uint32_t* nrf_timer_event_address_get | ( | NRF_TIMER_Type * | p_reg , |
| nrf_timer_event_t | event | ||
| ) |
Function for getting the address of a specific timer event register.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] event Requested event.
- Returns
- Address of the specified event register.
| __STATIC_INLINE bool nrf_timer_event_check | ( | NRF_TIMER_Type * | p_reg , |
| nrf_timer_event_t | event | ||
| ) |
Function for checking the state of a specific timer event.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] event Event to check.
- Return values
-
true If the event is set. false If the event is not set.
| __STATIC_INLINE void nrf_timer_event_clear | ( | NRF_TIMER_Type * | p_reg , |
| nrf_timer_event_t | event | ||
| ) |
Function for clearing a specific timer event.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] event Event to clear.
| __STATIC_INLINE nrf_timer_frequency_t nrf_timer_frequency_get | ( | NRF_TIMER_Type * | p_reg | ) |
Function for retrieving the timer frequency.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure.
- Returns
- Timer frequency.
| __STATIC_INLINE void nrf_timer_frequency_set | ( | NRF_TIMER_Type * | p_reg , |
| nrf_timer_frequency_t | frequency | ||
| ) |
Function for setting the timer frequency.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] frequency Timer frequency.
| __STATIC_INLINE void nrf_timer_int_disable | ( | NRF_TIMER_Type * | p_reg , |
| uint32_t | timer_int_mask | ||
| ) |
Function for disabling specified interrupts.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] timer_int_mask Interrupts to disable.
| __STATIC_INLINE void nrf_timer_int_enable | ( | NRF_TIMER_Type * | p_reg , |
| uint32_t | timer_int_mask | ||
| ) |
Function for enabling specified interrupts.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] timer_int_mask Interrupts to enable.
| __STATIC_INLINE bool nrf_timer_int_enable_check | ( | NRF_TIMER_Type * | p_reg , |
| uint32_t | timer_int | ||
| ) |
Function for retrieving the state of a given interrupt.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] timer_int Interrupt to check.
- Return values
-
true If the interrupt is enabled. false If the interrupt is not enabled.
| __STATIC_INLINE nrf_timer_mode_t nrf_timer_mode_get | ( | NRF_TIMER_Type * | p_reg | ) |
Function for retrieving the timer mode.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure.
- Returns
- Timer mode.
| __STATIC_INLINE void nrf_timer_mode_set | ( | NRF_TIMER_Type * | p_reg , |
| nrf_timer_mode_t | mode | ||
| ) |
Function for setting the timer mode.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] mode Timer mode.
| __STATIC_INLINE uint32_t nrf_timer_ms_to_ticks | ( | uint32_t | time_ms , |
| nrf_timer_frequency_t | frequency | ||
| ) |
Function for calculating the number of timer ticks for a given time (in milliseconds) and timer frequency.
- Parameters
-
[in] time_ms Time in milliseconds. [in] frequency Timer frequency.
- Returns
- Number of timer ticks.
| __STATIC_INLINE void nrf_timer_shorts_disable | ( | NRF_TIMER_Type * | p_reg , |
| uint32_t | timer_shorts_mask | ||
| ) |
Function for disabling specified shortcuts.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] timer_shorts_mask Shortcuts to disable.
| __STATIC_INLINE void nrf_timer_shorts_enable | ( | NRF_TIMER_Type * | p_reg , |
| uint32_t | timer_shorts_mask | ||
| ) |
Function for enabling specified shortcuts.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] timer_shorts_mask Shortcuts to enable.
| __STATIC_INLINE uint32_t* nrf_timer_task_address_get | ( | NRF_TIMER_Type * | p_reg , |
| nrf_timer_task_t | task | ||
| ) |
Function for getting the address of a specific timer task register.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] task Requested task.
- Returns
- Address of the specified task register.
| __STATIC_INLINE void nrf_timer_task_trigger | ( | NRF_TIMER_Type * | p_reg , |
| nrf_timer_task_t | task | ||
| ) |
Function for activating a specific timer task.
- Parameters
-
[in] p_reg Pointer to the peripheral registers structure. [in] task Task to activate.
| __STATIC_INLINE uint32_t nrf_timer_us_to_ticks | ( | uint32_t | time_us , |
| nrf_timer_frequency_t | frequency | ||
| ) |
Function for calculating the number of timer ticks for a given time (in microseconds) and timer frequency.
- Parameters
-
[in] time_us Time in microseconds. [in] frequency Timer frequency.
- Returns
- Number of timer ticks.