| nRF5 SDK v12.0.0 |

Choose documentation: | nRF5 SDK | S130 SoftDevice API | S132 SoftDevice API | S212 SoftDevice API | S332 SoftDevice API

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Macros | Enumerations | Functions
RTC HAL
RTC HAL and driver

Hardware access layer for managing the real time counter (RTC). More...

## Macros
#define | NRF_RTC_CC_CHANNEL_COUNT(id) CONCAT_3(RTC, id, _CC_NUM)
| Macro for getting the number of compare channels available in a given RTC instance.
#define | RTC_INPUT_FREQ 32768
#define | RTC_FREQ_TO_PRESCALER(FREQ) (uint16_t)((RTC_INPUT_FREQ / (FREQ)) - 1)
| Macro for converting expected frequency to prescaler setting. More...
#define | RTC_WRAP(val) (val & RTC_COUNTER_COUNTER_Msk)
#define | RTC_CHANNEL_INT_MASK(ch) ((uint32_t)NRF_RTC_INT_COMPARE0_MASK << ch)
#define | RTC_CHANNEL_EVENT_ADDR(ch) (nrf_rtc_event_t)(NRF_RTC_EVENT_COMPARE_0 + ch * sizeof(uint32_t))

## 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) }
| 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]) }
| 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 }
| RTC interrupts. More...

## Functions
__STATIC_INLINE void | nrf_rtc_cc_set (NRF_RTC_Type *p_rtc, uint32_t ch, uint32_t cc_val)
| Function for setting a compare value for a channel. More...
__STATIC_INLINE uint32_t | nrf_rtc_cc_get (NRF_RTC_Type *p_rtc, uint32_t ch)
| Function for returning the compare value for a channel. More...
__STATIC_INLINE void | nrf_rtc_int_enable (NRF_RTC_Type *p_rtc, uint32_t mask)
| Function for enabling interrupts. More...
__STATIC_INLINE void | nrf_rtc_int_disable (NRF_RTC_Type *p_rtc, uint32_t mask)
| Function for disabling interrupts. More...
__STATIC_INLINE uint32_t | nrf_rtc_int_is_enabled (NRF_RTC_Type *p_rtc, uint32_t mask)
| Function for checking if interrupts are enabled. More...
__STATIC_INLINE uint32_t | nrf_rtc_int_get (NRF_RTC_Type *p_rtc)
| Function for returning the status of currently enabled interrupts. More...
__STATIC_INLINE uint32_t | nrf_rtc_event_pending (NRF_RTC_Type *p_rtc, nrf_rtc_event_t event)
| Function for checking if an event is pending. More...
__STATIC_INLINE void | nrf_rtc_event_clear (NRF_RTC_Type *p_rtc, nrf_rtc_event_t event)
| Function for clearing an event. More...
__STATIC_INLINE uint32_t | nrf_rtc_counter_get (NRF_RTC_Type *p_rtc)
| Function for returning a counter value. More...
__STATIC_INLINE void | nrf_rtc_prescaler_set (NRF_RTC_Type *p_rtc, uint32_t val)
| Function for setting a prescaler value. More...
__STATIC_INLINE uint32_t | nrf_rtc_event_address_get (NRF_RTC_Type *p_rtc, nrf_rtc_event_t event)
| Function for returning the address of an event. More...
__STATIC_INLINE uint32_t | nrf_rtc_task_address_get (NRF_RTC_Type *p_rtc, nrf_rtc_task_t task)
| Function for returning the address of a task. More...
__STATIC_INLINE void | nrf_rtc_task_trigger (NRF_RTC_Type *p_rtc, nrf_rtc_task_t task)
| Function for starting a task. More...
__STATIC_INLINE void | nrf_rtc_event_enable (NRF_RTC_Type *p_rtc, uint32_t mask)
| Function for enabling events. More...
__STATIC_INLINE void | nrf_rtc_event_disable (NRF_RTC_Type *p_rtc, uint32_t event)
| Function for disabling an event. More...

## Detailed Description

Hardware access layer for managing the real time counter (RTC).

## Macro Definition Documentation

#define RTC_FREQ_TO_PRESCALER | ( |  | FREQ | ) | (uint16_t)((RTC_INPUT_FREQ / (FREQ)) - 1)

Macro for converting expected frequency to prescaler setting.

Macro for wrapping values to RTC capacity.

#define RTC_INPUT_FREQ 32768

Input frequency of the RTC instance.

## Enumeration Type Documentation

enum nrf_rtc_event_t

RTC events.

Enumerator
NRF_RTC_EVENT_TICK | Tick event.
NRF_RTC_EVENT_OVERFLOW | Overflow event.
NRF_RTC_EVENT_COMPARE_0 | Compare 0 event.
NRF_RTC_EVENT_COMPARE_1 | Compare 1 event.
NRF_RTC_EVENT_COMPARE_2 | Compare 2 event.
NRF_RTC_EVENT_COMPARE_3 | Compare 3 event.

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.

enum nrf_rtc_task_t

RTC tasks.

Enumerator
NRF_RTC_TASK_START | Start.
NRF_RTC_TASK_STOP | Stop.
NRF_RTC_TASK_CLEAR | Clear.
NRF_RTC_TASK_TRIGGER_OVERFLOW | Trigger overflow.

## Function Documentation

__STATIC_INLINE uint32_t nrf_rtc_cc_get | ( | NRF_RTC_Type * | p_rtc,
|  | uint32_t | ch
| ) |  |

Function for returning the compare value for a channel.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.
  [in] | ch | Channel.

Returns
  COMPARE[ch] value.

__STATIC_INLINE void nrf_rtc_cc_set | ( | NRF_RTC_Type * | p_rtc,
|  | uint32_t | ch,
|  | uint32_t | cc_val
| ) |  |

Function for setting a compare value for a channel.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.
  [in] | ch | Channel.
  [in] | cc_val | Compare value to set.

__STATIC_INLINE uint32_t nrf_rtc_counter_get | ( | NRF_RTC_Type * | p_rtc | ) |

Function for returning a counter value.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.

Returns
  Counter value.

__STATIC_INLINE uint32_t nrf_rtc_event_address_get | ( | NRF_RTC_Type * | p_rtc,
|  | nrf_rtc_event_t | event
| ) |  |

Function for returning the address of an event.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.
  [in] | event | Requested event.

Returns
  Address of the requested event register.

__STATIC_INLINE void nrf_rtc_event_clear | ( | NRF_RTC_Type * | p_rtc,
|  | nrf_rtc_event_t | event
| ) |  |

Function for clearing an event.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.
  [in] | event | Event to clear.

__STATIC_INLINE void nrf_rtc_event_disable | ( | NRF_RTC_Type * | p_rtc,
|  | uint32_t | event
| ) |  |

Function for disabling an event.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.
  [in] | event | Requested event.

__STATIC_INLINE void nrf_rtc_event_enable | ( | NRF_RTC_Type * | p_rtc,
|  | uint32_t | mask
| ) |  |

Function for enabling events.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.
  [in] | mask | Mask of event flags to enable.

__STATIC_INLINE uint32_t nrf_rtc_event_pending | ( | NRF_RTC_Type * | p_rtc,
|  | nrf_rtc_event_t | event
| ) |  |

Function for checking if an event is pending.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.
  [in] | event | Address of the event.

Returns
  Mask of pending events.

__STATIC_INLINE void nrf_rtc_int_disable | ( | NRF_RTC_Type * | p_rtc,
|  | uint32_t | mask
| ) |  |

Function for disabling interrupts.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.
  [in] | mask | Interrupt mask to be disabled.

__STATIC_INLINE void nrf_rtc_int_enable | ( | NRF_RTC_Type * | p_rtc,
|  | uint32_t | mask
| ) |  |

Function for enabling interrupts.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.
  [in] | mask | Interrupt mask to be enabled.

__STATIC_INLINE uint32_t nrf_rtc_int_get | ( | NRF_RTC_Type * | p_rtc | ) |

Function for returning the status of currently enabled interrupts.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.

Returns
  Value in INTEN register.

__STATIC_INLINE uint32_t nrf_rtc_int_is_enabled | ( | NRF_RTC_Type * | p_rtc,
|  | uint32_t | mask
| ) |  |

Function for checking if interrupts are enabled.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.
  [in] | mask | Mask of interrupt flags to check.

Returns
  Mask with enabled interrupts.

__STATIC_INLINE void nrf_rtc_prescaler_set | ( | NRF_RTC_Type * | p_rtc,
|  | uint32_t | val
| ) |  |

Function for setting a prescaler value.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.
  [in] | val | Value to set the prescaler to.

__STATIC_INLINE uint32_t nrf_rtc_task_address_get | ( | NRF_RTC_Type * | p_rtc,
|  | nrf_rtc_task_t | task
| ) |  |

Function for returning the address of a task.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.
  [in] | task | Requested task.

Returns
  Address of the requested task register.

__STATIC_INLINE void nrf_rtc_task_trigger | ( | NRF_RTC_Type * | p_rtc,
|  | nrf_rtc_task_t | task
| ) |  |

Function for starting a task.

Parameters

  [in] | p_rtc | Pointer to the peripheral registers structure.
  [in] | task | Requested task.