![]() |
nrfx 4.5.0
|
Hardware access layer for managing the Real Time Counter (RTC) peripheral. More...
Macros | |
| #define | NRF_RTC_HAS_SHORTS 1 |
| Symbol indicating whether COMPARE_CLEAR shorts are present. | |
| #define | NRF_RTC_INST_GET(idx) |
| Macro getting pointer to the structure of registers of the RTC peripheral. | |
| #define | NRF_RTC_CC_CHANNEL_COUNT(id) |
| Macro for getting the number of compare channels available in a given RTC instance. | |
| #define | NRF_RTC_CC_COUNT_MAX NRFX_ARRAY_SIZE(((NRF_RTC_Type*)0)->EVENTS_COMPARE) |
| Symbol specifying maximum number of available compare channels. | |
| #define | NRF_RTC_COUNTER_MAX RTC_COUNTER_COUNTER_Msk |
| Maximum value of the RTC counter. | |
| #define | NRF_RTC_INPUT_FREQ 32768 |
| Input frequency of the RTC instance. | |
| #define | NRF_RTC_FREQ_TO_PRESCALER(FREQ) |
| Macro for converting expected frequency to prescaler setting. | |
| #define | NRF_RTC_WRAP(val) |
| Macro for trimming values to the RTC bit width. | |
| #define | NRF_RTC_CHANNEL_INT_MASK(ch) |
| Macro for creating the interrupt bitmask for the specified compare channel. | |
| #define | NRF_RTC_ALL_CHANNELS_INT_MASK ((uint32_t)(((1 << NRF_RTC_CC_COUNT_MAX) - 1) << RTC_INTENSET_COMPARE0_Pos)) |
| Macro for creating the interrupt bitmask for all compare channels. | |
| #define | NRF_RTC_CHANNEL_EVENT_ADDR(ch) |
| Macro for obtaining the compare event for the specified channel. | |
Enumerations | |
| enum | nrf_rtc_task_t { NRF_RTC_TASK_START = offsetof(NRF_RTC_Type,TASKS_START) , NRF_RTC_TASK_STOP = offsetof(NRF_RTC_Type,TASKS_STOP) , NRF_RTC_TASK_CLEAR = offsetof(NRF_RTC_Type,TASKS_CLEAR) , NRF_RTC_TASK_TRIGGER_OVERFLOW = offsetof(NRF_RTC_Type,TASKS_TRIGOVRFLW) , NRF_RTC_TASK_CAPTURE_0 = offsetof(NRF_RTC_Type,TASKS_CAPTURE[0]) , NRF_RTC_TASK_CAPTURE_1 = offsetof(NRF_RTC_Type,TASKS_CAPTURE[1]) , NRF_RTC_TASK_CAPTURE_2 = offsetof(NRF_RTC_Type,TASKS_CAPTURE[2]) , NRF_RTC_TASK_CAPTURE_3 = offsetof(NRF_RTC_Type,TASKS_CAPTURE[3]) , NRF_RTC_TASK_CAPTURE_4 = offsetof(NRF_RTC_Type,TASKS_CAPTURE[4]) , NRF_RTC_TASK_CAPTURE_5 = offsetof(NRF_RTC_Type,TASKS_CAPTURE[5]) , NRF_RTC_TASK_CAPTURE_6 = offsetof(NRF_RTC_Type,TASKS_CAPTURE[6]) , NRF_RTC_TASK_CAPTURE_7 = offsetof(NRF_RTC_Type,TASKS_CAPTURE[7]) } |
| RTC tasks. More... | |
| enum | nrf_rtc_event_t { NRF_RTC_EVENT_TICK = offsetof(NRF_RTC_Type,EVENTS_TICK) , NRF_RTC_EVENT_OVERFLOW = offsetof(NRF_RTC_Type,EVENTS_OVRFLW) , NRF_RTC_EVENT_COMPARE_0 = offsetof(NRF_RTC_Type,EVENTS_COMPARE[0]) , NRF_RTC_EVENT_COMPARE_1 = offsetof(NRF_RTC_Type,EVENTS_COMPARE[1]) , NRF_RTC_EVENT_COMPARE_2 = offsetof(NRF_RTC_Type,EVENTS_COMPARE[2]) , NRF_RTC_EVENT_COMPARE_3 = offsetof(NRF_RTC_Type,EVENTS_COMPARE[3]) , NRF_RTC_EVENT_COMPARE_4 = offsetof(NRF_RTC_Type,EVENTS_COMPARE[4]) , NRF_RTC_EVENT_COMPARE_5 = offsetof(NRF_RTC_Type,EVENTS_COMPARE[5]) , NRF_RTC_EVENT_COMPARE_6 = offsetof(NRF_RTC_Type,EVENTS_COMPARE[6]) , NRF_RTC_EVENT_COMPARE_7 = offsetof(NRF_RTC_Type,EVENTS_COMPARE[7]) } |
| RTC events. More... | |
| enum | nrf_rtc_int_t { NRF_RTC_INT_TICK_MASK = RTC_INTENSET_TICK_Msk , NRF_RTC_INT_OVERFLOW_MASK = RTC_INTENSET_OVRFLW_Msk , NRF_RTC_INT_COMPARE0_MASK = RTC_INTENSET_COMPARE0_Msk , NRF_RTC_INT_COMPARE1_MASK = RTC_INTENSET_COMPARE1_Msk , NRF_RTC_INT_COMPARE2_MASK = RTC_INTENSET_COMPARE2_Msk , NRF_RTC_INT_COMPARE3_MASK = RTC_INTENSET_COMPARE3_Msk , NRF_RTC_INT_COMPARE_0_MASK = RTC_INTENSET_COMPARE0_Msk , NRF_RTC_INT_COMPARE_1_MASK = RTC_INTENSET_COMPARE1_Msk , NRF_RTC_INT_COMPARE_2_MASK = RTC_INTENSET_COMPARE2_Msk , NRF_RTC_INT_COMPARE_3_MASK = RTC_INTENSET_COMPARE3_Msk , NRF_RTC_INT_COMPARE_4_MASK = RTC_INTENSET_COMPARE4_Msk , NRF_RTC_INT_COMPARE_5_MASK = RTC_INTENSET_COMPARE5_Msk , NRF_RTC_INT_COMPARE_6_MASK = RTC_INTENSET_COMPARE6_Msk , NRF_RTC_INT_COMPARE_7_MASK = RTC_INTENSET_COMPARE7_Msk } |
| RTC interrupts. More... | |
| enum | nrf_rtc_short_mask_t { NRF_RTC_SHORT_COMPARE0_CLEAR_MASK = RTC_SHORTS_COMPARE0_CLEAR_Msk , NRF_RTC_SHORT_COMPARE1_CLEAR_MASK = RTC_SHORTS_COMPARE1_CLEAR_Msk , NRF_RTC_SHORT_COMPARE2_CLEAR_MASK = RTC_SHORTS_COMPARE2_CLEAR_Msk , NRF_RTC_SHORT_COMPARE3_CLEAR_MASK = RTC_SHORTS_COMPARE3_CLEAR_Msk , NRF_RTC_SHORT_COMPARE4_CLEAR_MASK = RTC_SHORTS_COMPARE4_CLEAR_Msk , NRF_RTC_SHORT_COMPARE5_CLEAR_MASK = RTC_SHORTS_COMPARE5_CLEAR_Msk , NRF_RTC_SHORT_COMPARE6_CLEAR_MASK = RTC_SHORTS_COMPARE6_CLEAR_Msk , NRF_RTC_SHORT_COMPARE7_CLEAR_MASK = RTC_SHORTS_COMPARE7_CLEAR_Msk } |
| RTC shorts. More... | |
Functions | |
| NRF_STATIC_INLINE void | nrf_rtc_cc_set (NRF_RTC_Type *p_reg, uint32_t ch, uint32_t cc_val) |
| Function for setting a compare value for a channel. | |
| NRF_STATIC_INLINE uint32_t | nrf_rtc_cc_get (NRF_RTC_Type const *p_reg, uint32_t ch) |
| Function for returning the compare value for a channel. | |
| NRF_STATIC_INLINE void | nrf_rtc_int_enable (NRF_RTC_Type *p_reg, uint32_t mask) |
| Function for enabling interrupts. | |
| NRF_STATIC_INLINE void | nrf_rtc_int_disable (NRF_RTC_Type *p_reg, uint32_t mask) |
| Function for disabling interrupts. | |
| NRF_STATIC_INLINE uint32_t | nrf_rtc_int_enable_check (NRF_RTC_Type const *p_reg, uint32_t mask) |
| Function for checking if the specified interrupts are enabled. | |
| NRF_STATIC_INLINE void | nrf_rtc_subscribe_set (NRF_RTC_Type *p_reg, nrf_rtc_task_t task, uint8_t channel) |
| Function for setting the subscribe configuration for a given RTC task. | |
| NRF_STATIC_INLINE void | nrf_rtc_subscribe_clear (NRF_RTC_Type *p_reg, nrf_rtc_task_t task) |
| Function for clearing the subscribe configuration for a given RTC task. | |
| NRF_STATIC_INLINE uint32_t | nrf_rtc_subscribe_get (NRF_RTC_Type const *p_reg, nrf_rtc_task_t task) |
| Function for getting the subscribe configuration for a given RTC task. | |
| NRF_STATIC_INLINE void | nrf_rtc_publish_set (NRF_RTC_Type *p_reg, nrf_rtc_event_t event, uint8_t channel) |
| Function for setting the publish configuration for a given RTC event. | |
| NRF_STATIC_INLINE void | nrf_rtc_publish_clear (NRF_RTC_Type *p_reg, nrf_rtc_event_t event) |
| Function for clearing the publish configuration for a given RTC event. | |
| NRF_STATIC_INLINE uint32_t | nrf_rtc_publish_get (NRF_RTC_Type const *p_reg, nrf_rtc_event_t event) |
| Function for getting the publish configuration for a given RTC event. | |
| NRF_STATIC_INLINE bool | nrf_rtc_event_check (NRF_RTC_Type const *p_reg, nrf_rtc_event_t event) |
| Function for retrieving the state of the RTC event. | |
| NRF_STATIC_INLINE void | nrf_rtc_event_clear (NRF_RTC_Type *p_reg, nrf_rtc_event_t event) |
| Function for clearing an event. | |
| NRF_STATIC_INLINE uint32_t | nrf_rtc_counter_get (NRF_RTC_Type const *p_reg) |
| Function for returning a counter value. | |
| NRF_STATIC_INLINE void | nrf_rtc_prescaler_set (NRF_RTC_Type *p_reg, uint32_t val) |
| Function for setting a prescaler value. | |
| NRF_STATIC_INLINE uint32_t | nrf_rtc_prescaler_get (NRF_RTC_Type const *p_reg) |
| Function for getting a prescaler value. | |
| NRF_STATIC_INLINE uint32_t | nrf_rtc_event_address_get (NRF_RTC_Type const *p_reg, nrf_rtc_event_t event) |
| Function for returning the address of an event. | |
| NRF_STATIC_INLINE uint32_t | nrf_rtc_task_address_get (NRF_RTC_Type const *p_reg, nrf_rtc_task_t task) |
| Function for returning the address of a task. | |
| NRF_STATIC_INLINE nrf_rtc_task_t | nrf_rtc_capture_task_get (uint8_t index) |
| Function for getting the CAPTURE task associated with the specified capture channel. | |
| NRF_STATIC_INLINE void | nrf_rtc_task_trigger (NRF_RTC_Type *p_reg, nrf_rtc_task_t task) |
| Function for starting a task. | |
| NRF_STATIC_INLINE void | nrf_rtc_event_enable (NRF_RTC_Type *p_reg, uint32_t mask) |
| Function for enabling events. | |
| NRF_STATIC_INLINE void | nrf_rtc_event_disable (NRF_RTC_Type *p_reg, uint32_t mask) |
| Function for disabling an event. | |
| NRF_STATIC_INLINE nrf_rtc_event_t | nrf_rtc_compare_event_get (uint8_t index) |
| Function for getting the COMPARE event associated with the specified compare channel. | |
| NRF_STATIC_INLINE void | nrf_rtc_shorts_enable (NRF_RTC_Type *p_reg, uint32_t mask) |
| Function for enabling the specified shortcuts. | |
| NRF_STATIC_INLINE void | nrf_rtc_shorts_disable (NRF_RTC_Type *p_reg, uint32_t mask) |
| Function for disabling the specified shortcuts. | |
| NRF_STATIC_INLINE uint32_t | nrf_rtc_shorts_get (NRF_RTC_Type const *p_reg) |
| Function for getting the shortcut setting. | |
Hardware access layer for managing the Real Time Counter (RTC) peripheral.
| #define NRF_RTC_CC_CHANNEL_COUNT | ( | id | ) |
Macro for getting the number of compare channels available in a given RTC instance.
| #define NRF_RTC_CHANNEL_EVENT_ADDR | ( | ch | ) |
Macro for obtaining the compare event for the specified channel.
| #define NRF_RTC_CHANNEL_INT_MASK | ( | ch | ) |
Macro for creating the interrupt bitmask for the specified compare channel.
| #define NRF_RTC_FREQ_TO_PRESCALER | ( | FREQ | ) |
Macro for converting expected frequency to prescaler setting.
| #define NRF_RTC_INST_GET | ( | idx | ) |
Macro getting pointer to the structure of registers of the RTC peripheral.
| [in] | idx | RTC instance index. |
| #define NRF_RTC_WRAP | ( | val | ) |
Macro for trimming values to the RTC bit width.
| enum nrf_rtc_event_t |
RTC events.
| enum nrf_rtc_int_t |
RTC interrupts.
| Enumerator | |
|---|---|
| NRF_RTC_INT_TICK_MASK | RTC interrupt from tick event. |
| NRF_RTC_INT_OVERFLOW_MASK | RTC interrupt from overflow event. |
| NRF_RTC_INT_COMPARE0_MASK | RTC interrupt from compare event on channel 0.
|
| NRF_RTC_INT_COMPARE1_MASK | RTC interrupt from compare event on channel 1.
|
| NRF_RTC_INT_COMPARE2_MASK | RTC interrupt from compare event on channel 2.
|
| NRF_RTC_INT_COMPARE3_MASK | RTC interrupt from compare event on channel 3.
|
| NRF_RTC_INT_COMPARE_0_MASK | RTC interrupt from compare event on channel 0. |
| NRF_RTC_INT_COMPARE_1_MASK | RTC interrupt from compare event on channel 1. |
| NRF_RTC_INT_COMPARE_2_MASK | RTC interrupt from compare event on channel 2. |
| NRF_RTC_INT_COMPARE_3_MASK | RTC interrupt from compare event on channel 3. |
| NRF_RTC_INT_COMPARE_4_MASK | RTC interrupt from compare event on channel 4. |
| NRF_RTC_INT_COMPARE_5_MASK | RTC interrupt from compare event on channel 5. |
| NRF_RTC_INT_COMPARE_6_MASK | RTC interrupt from compare event on channel 6. |
| NRF_RTC_INT_COMPARE_7_MASK | RTC interrupt from compare event on channel 7. |
| enum nrf_rtc_short_mask_t |
RTC shorts.
| enum nrf_rtc_task_t |
RTC tasks.
| NRF_STATIC_INLINE nrf_rtc_task_t nrf_rtc_capture_task_get | ( | uint8_t | index | ) |
Function for getting the CAPTURE task associated with the specified capture channel.
| [in] | index | Capture channel index. |
| NRF_STATIC_INLINE uint32_t nrf_rtc_cc_get | ( | NRF_RTC_Type const * | p_reg, |
| uint32_t | ch ) |
Function for returning the compare value for a channel.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | ch | Channel. |
| NRF_STATIC_INLINE void nrf_rtc_cc_set | ( | NRF_RTC_Type * | p_reg, |
| uint32_t | ch, | ||
| uint32_t | cc_val ) |
Function for setting a compare value for a channel.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | ch | Channel. |
| [in] | cc_val | Compare value to be set. |
| NRF_STATIC_INLINE nrf_rtc_event_t nrf_rtc_compare_event_get | ( | uint8_t | index | ) |
Function for getting the COMPARE event associated with the specified compare channel.
| [in] | index | Compare channel index. |
| NRF_STATIC_INLINE uint32_t nrf_rtc_counter_get | ( | NRF_RTC_Type const * | p_reg | ) |
Function for returning a counter value.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| NRF_STATIC_INLINE uint32_t nrf_rtc_event_address_get | ( | NRF_RTC_Type const * | p_reg, |
| nrf_rtc_event_t | event ) |
Function for returning the address of an event.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | event | Requested event. |
| NRF_STATIC_INLINE bool nrf_rtc_event_check | ( | NRF_RTC_Type const * | p_reg, |
| nrf_rtc_event_t | event ) |
Function for retrieving the state of the RTC event.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | event | Event to be checked. |
| true | The event has been generated. |
| false | The event has not been generated. |
| NRF_STATIC_INLINE void nrf_rtc_event_clear | ( | NRF_RTC_Type * | p_reg, |
| nrf_rtc_event_t | event ) |
Function for clearing an event.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | event | Event to be cleared. |
| NRF_STATIC_INLINE void nrf_rtc_event_disable | ( | NRF_RTC_Type * | p_reg, |
| uint32_t | mask ) |
Function for disabling an event.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | mask | Mask of event flags to be disabled. |
| NRF_STATIC_INLINE void nrf_rtc_event_enable | ( | NRF_RTC_Type * | p_reg, |
| uint32_t | mask ) |
Function for enabling events.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | mask | Mask of event flags to be enabled. |
| NRF_STATIC_INLINE void nrf_rtc_int_disable | ( | NRF_RTC_Type * | p_reg, |
| uint32_t | mask ) |
Function for disabling interrupts.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | mask | Mask of interrupts to be disabled. Use nrf_rtc_int_t values for bit masking. |
| NRF_STATIC_INLINE void nrf_rtc_int_enable | ( | NRF_RTC_Type * | p_reg, |
| uint32_t | mask ) |
Function for enabling interrupts.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | mask | Mask of interrupts to be enabled. Use nrf_rtc_int_t values for bit masking. |
| NRF_STATIC_INLINE uint32_t nrf_rtc_int_enable_check | ( | NRF_RTC_Type const * | p_reg, |
| uint32_t | mask ) |
Function for checking if the specified interrupts are enabled.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | mask | Mask of interrupts to be checked. Use nrf_rtc_int_t values for bit masking. |
| NRF_STATIC_INLINE uint32_t nrf_rtc_prescaler_get | ( | NRF_RTC_Type const * | p_reg | ) |
Function for getting a prescaler value.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| NRF_STATIC_INLINE void nrf_rtc_prescaler_set | ( | NRF_RTC_Type * | p_reg, |
| uint32_t | val ) |
Function for setting a prescaler value.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | val | Value to set the prescaler to. |
| NRF_STATIC_INLINE void nrf_rtc_publish_clear | ( | NRF_RTC_Type * | p_reg, |
| nrf_rtc_event_t | event ) |
Function for clearing the publish configuration for a given RTC event.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | event | Event for which to clear the configuration. |
| NRF_STATIC_INLINE uint32_t nrf_rtc_publish_get | ( | NRF_RTC_Type const * | p_reg, |
| nrf_rtc_event_t | event ) |
Function for getting the publish configuration for a given RTC event.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | event | Event for which to read the configuration. |
| NRF_STATIC_INLINE void nrf_rtc_publish_set | ( | NRF_RTC_Type * | p_reg, |
| nrf_rtc_event_t | event, | ||
| uint8_t | channel ) |
Function for setting the publish configuration for a given RTC event.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | event | Event for which to set the configuration. |
| [in] | channel | Channel through which to publish the event. |
| NRF_STATIC_INLINE void nrf_rtc_shorts_disable | ( | NRF_RTC_Type * | p_reg, |
| uint32_t | mask ) |
Function for disabling the specified shortcuts.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | mask | Shortcuts to be disabled. |
| NRF_STATIC_INLINE void nrf_rtc_shorts_enable | ( | NRF_RTC_Type * | p_reg, |
| uint32_t | mask ) |
Function for enabling the specified shortcuts.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | mask | Shortcuts to be enabled. |
| NRF_STATIC_INLINE uint32_t nrf_rtc_shorts_get | ( | NRF_RTC_Type const * | p_reg | ) |
Function for getting the shortcut setting.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| NRF_STATIC_INLINE void nrf_rtc_subscribe_clear | ( | NRF_RTC_Type * | p_reg, |
| nrf_rtc_task_t | task ) |
Function for clearing the subscribe configuration for a given RTC task.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | task | Task for which to clear the configuration. |
| NRF_STATIC_INLINE uint32_t nrf_rtc_subscribe_get | ( | NRF_RTC_Type const * | p_reg, |
| nrf_rtc_task_t | task ) |
Function for getting the subscribe configuration for a given RTC task.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | task | Task for which to read the configuration. |
| NRF_STATIC_INLINE void nrf_rtc_subscribe_set | ( | NRF_RTC_Type * | p_reg, |
| nrf_rtc_task_t | task, | ||
| uint8_t | channel ) |
Function for setting the subscribe configuration for a given RTC task.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | task | Task for which to set the configuration. |
| [in] | channel | Channel through which to subscribe events. |
| NRF_STATIC_INLINE uint32_t nrf_rtc_task_address_get | ( | NRF_RTC_Type const * | p_reg, |
| nrf_rtc_task_t | task ) |
Function for returning the address of a task.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | task | Requested task. |
| NRF_STATIC_INLINE void nrf_rtc_task_trigger | ( | NRF_RTC_Type * | p_reg, |
| nrf_rtc_task_t | task ) |
Function for starting a task.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | task | Requested task. |