![]() |
nRF5 SDK
v12.3.0
|
| Choose documentation: | nRF5 SDK | S130 SoftDevice API | S132 SoftDevice API | S212 SoftDevice API | S332 SoftDevice API |
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... | |
Hardware access layer for accessing the timer peripheral.
| #define NRF_TIMER_IS_BIT_WIDTH_VALID | ( | p_reg, | |
| bit_width | |||
| ) |
| #define TIMER_BIT_WIDTH_MAX | ( | id, | |
| bit_width | |||
| ) |
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.
| __STATIC_INLINE nrf_timer_bit_width_t nrf_timer_bit_width_get | ( | NRF_TIMER_Type * | p_reg | ) |
Function for retrieving the timer bit width.
| [in] | p_reg | Pointer to the peripheral registers structure. |
| __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.
| [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.
| [in] | channel | Capture channel. |
| __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.
| [in] | p_reg | Pointer to the peripheral registers structure. |
| [in] | cc_channel | Requested capture/compare channel. |
| __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.
| [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.
| [in] | channel | Compare channel. |
| __STATIC_INLINE nrf_timer_int_mask_t nrf_timer_compare_int_get | ( | uint32_t | channel | ) |
Function for getting a specific timer compare interrupt.
| [in] | channel | Compare channel. |
| __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.
| [in] | p_reg | Pointer to the peripheral registers structure. |
| [in] | event | Requested event. |
| __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.
| [in] | p_reg | Pointer to the peripheral registers structure. |
| [in] | event | Event to check. |
| 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.
| [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.
| [in] | p_reg | Pointer to the peripheral registers structure. |
| __STATIC_INLINE void nrf_timer_frequency_set | ( | NRF_TIMER_Type * | p_reg, |
| nrf_timer_frequency_t | frequency | ||
| ) |
Function for setting the timer frequency.
| [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.
| [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.
| [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.
| [in] | p_reg | Pointer to the peripheral registers structure. |
| [in] | timer_int | Interrupt to check. |
| 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.
| [in] | p_reg | Pointer to the peripheral registers structure. |
| __STATIC_INLINE void nrf_timer_mode_set | ( | NRF_TIMER_Type * | p_reg, |
| nrf_timer_mode_t | mode | ||
| ) |
Function for setting the timer mode.
| [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.
| [in] | time_ms | Time in milliseconds. |
| [in] | frequency | Timer frequency. |
| __STATIC_INLINE void nrf_timer_shorts_disable | ( | NRF_TIMER_Type * | p_reg, |
| uint32_t | timer_shorts_mask | ||
| ) |
Function for disabling specified shortcuts.
| [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.
| [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.
| [in] | p_reg | Pointer to the peripheral registers structure. |
| [in] | task | Requested task. |
| __STATIC_INLINE void nrf_timer_task_trigger | ( | NRF_TIMER_Type * | p_reg, |
| nrf_timer_task_t | task | ||
| ) |
Function for activating a specific timer task.
| [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.
| [in] | time_us | Time in microseconds. |
| [in] | frequency | Timer frequency. |