![]() |
nrfx 4.5.0
|
CLOCK peripheral driver. More...
Topics | |
| CLOCK peripheral driver configuration | |
Typedefs | |
| typedef void(* | nrfx_clock_event_handler_t) (nrfx_clock_evt_type_t event) |
| Clock event handler. | |
Enumerations | |
| enum | nrfx_clock_evt_type_t { NRFX_CLOCK_EVT_HFCLK_STARTED = NRFX_BITMASK_TO_BITPOS(NRF_CLOCK_INT_HF_STARTED_MASK) , NRFX_CLOCK_EVT_PLL_STARTED = NRFX_CLOCK_XO_EVT_PLL_STARTED , NRFX_CLOCK_EVT_LFCLK_STARTED = NRFX_CLOCK_LFCLK_EVT_LFCLK_STARTED , NRFX_CLOCK_EVT_CTTO = NRFX_CLOCK_LFCLK_EVT_CTTO , NRFX_CLOCK_EVT_CAL_DONE = NRFX_CLOCK_LFCLK_EVT_CAL_DONE , NRFX_CLOCK_EVT_HFCLKAUDIO_STARTED = NRFX_BITMASK_TO_BITPOS(NRF_CLOCK_INT_HFAUDIO_STARTED_MASK) , NRFX_CLOCK_EVT_HFCLK24M_STARTED = NRFX_BITMASK_TO_BITPOS(NRF_CLOCK_INT_HFCLK24M_STARTED_MASK) , NRFX_CLOCK_EVT_HFCLK192M_STARTED = NRFX_BITMASK_TO_BITPOS(NRF_CLOCK_INT_HF192M_STARTED_MASK) , NRFX_CLOCK_EVT_XO_TUNED = NRFX_CLOCK_XO_EVT_XO_TUNED , NRFX_CLOCK_EVT_XO_TUNE_ERROR = NRFX_CLOCK_XO_EVT_XO_TUNE_ERROR , NRFX_CLOCK_EVT_XO_TUNE_FAILED = NRFX_CLOCK_XO_EVT_XO_TUNE_FAILED } |
| Clock events. More... | |
Functions | |
| int | nrfx_clock_init (nrfx_clock_event_handler_t event_handler) |
| Function for initializing internal structures in the nrfx_clock module. | |
| void | nrfx_clock_enable (void) |
| Function for enabling interrupts in the clock module. | |
| void | nrfx_clock_disable (void) |
| Function for disabling interrupts in the clock module. | |
| void | nrfx_clock_uninit (void) |
| Function for uninitializing the clock module. | |
| bool | nrfx_clock_init_check (void) |
| Function for checking if the clock driver is initialized. | |
| void | nrfx_clock_start (nrf_clock_domain_t domain) |
| Function for starting the specified clock domain. | |
| void | nrfx_clock_stop (nrf_clock_domain_t domain) |
| Function for stopping the specified clock domain. | |
| NRFX_STATIC_INLINE bool | nrfx_clock_is_running (nrf_clock_domain_t domain, void *p_clk_src) |
| Function for checking the specified clock domain state. | |
| int | nrfx_clock_divider_set (nrf_clock_domain_t domain, nrf_clock_hfclk_div_t div) |
| Function for setting the specified clock domain divider. | |
| NRFX_STATIC_INLINE nrf_clock_hfclk_div_t | nrfx_clock_divider_get (nrf_clock_domain_t domain) |
| Function for getting the specified clock domain divider. | |
| int | nrfx_clock_calibration_start (void) |
| Function for starting the calibration of internal LFCLK. | |
| int | nrfx_clock_is_calibrating (void) |
| Function for checking if calibration is in progress. | |
| void | nrfx_clock_calibration_timer_start (uint8_t interval) |
| Function for starting calibration timer. | |
| void | nrfx_clock_calibration_timer_stop (void) |
| Function for stopping the calibration timer. | |
| NRFX_STATIC_INLINE uint32_t | nrfx_clock_task_address_get (nrf_clock_task_t task) |
| Function for returning a requested task address for the clock driver module. | |
| NRFX_STATIC_INLINE uint32_t | nrfx_clock_event_address_get (nrf_clock_event_t event) |
| Function for returning a requested event address for the clock driver module. | |
CLOCK peripheral driver.
| typedef void(* nrfx_clock_event_handler_t) (nrfx_clock_evt_type_t event) |
Clock event handler.
| [in] | event | Event. |
Clock events.
| int nrfx_clock_calibration_start | ( | void | ) |
Function for starting the calibration of internal LFCLK.
This function starts the calibration process. The process cannot be aborted. LFCLK and HFCLK must be running before this function is called.
| 0 | The procedure is successful. |
| -EINPROGRESS | The low-frequency or high-frequency clock is off. |
| -EBUSY | Clock is in the calibration phase. |
| void nrfx_clock_calibration_timer_start | ( | uint8_t | interval | ) |
Function for starting calibration timer.
| [in] | interval | Time after which the CTTO event and interrupt will be generated (in 0.25 s units). |
| NRFX_STATIC_INLINE nrf_clock_hfclk_div_t nrfx_clock_divider_get | ( | nrf_clock_domain_t | domain | ) |
Function for getting the specified clock domain divider.
| [in] | domain | Clock domain. |
| int nrfx_clock_divider_set | ( | nrf_clock_domain_t | domain, |
| nrf_clock_hfclk_div_t | div ) |
Function for setting the specified clock domain divider.
| [in] | domain | Clock domain. |
| [in] | div | New divider for the clock domain. |
| 0 | Divider successfully set. |
| -ENOTSUP | Domain does not support setting the divider. |
| -EINVAL | Divider not supported by the specified domain. |
| NRFX_STATIC_INLINE uint32_t nrfx_clock_event_address_get | ( | nrf_clock_event_t | event | ) |
Function for returning a requested event address for the clock driver module.
| [in] | event | One of the peripheral events. |
| int nrfx_clock_init | ( | nrfx_clock_event_handler_t | event_handler | ) |
Function for initializing internal structures in the nrfx_clock module.
After initialization, the module is in power off state (clocks are not started).
| [in] | event_handler | Event handler provided by the user. If not provided, driver works in blocking mode. |
| 0 | The procedure is successful. |
| -EALREADY | The driver is already initialized. |
| bool nrfx_clock_init_check | ( | void | ) |
Function for checking if the clock driver is initialized.
| true | Driver is already initialized. |
| false | Driver is not initialized. |
| int nrfx_clock_is_calibrating | ( | void | ) |
Function for checking if calibration is in progress.
This function indicates that the system is in calibration phase.
| 0 | The procedure is successful. |
| -EBUSY | Clock is in the calibration phase. |
| NRFX_STATIC_INLINE bool nrfx_clock_is_running | ( | nrf_clock_domain_t | domain, |
| void * | p_clk_src ) |
Function for checking the specified clock domain state.
XTAL source is assumed for domains with multiple sources.
| [in] | domain | Clock domain. |
| [out] | p_clk_src | Pointer to a clock source that is running. Set to NULL if not needed. Ignored for HFCLKAUDIO domain. Variable pointed by p_clk_src must be of either nrf_clock_lfclk_t type for LFCLK or nrf_clock_hfclk_t type for HFCLK and HFCLK192M. |
| true | The clock domain is running. |
| false | The clock domain is not running. |
| void nrfx_clock_start | ( | nrf_clock_domain_t | domain | ) |
Function for starting the specified clock domain.
| [in] | domain | Clock domain. |
| void nrfx_clock_stop | ( | nrf_clock_domain_t | domain | ) |
Function for stopping the specified clock domain.
| [in] | domain | Clock domain. |
| NRFX_STATIC_INLINE uint32_t nrfx_clock_task_address_get | ( | nrf_clock_task_t | task | ) |
Function for returning a requested task address for the clock driver module.
| [in] | task | One of the peripheral tasks. |