This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Enable bypass of LFCLK crystal oscillator with external clock source

Hi,

I'm using SDK 16.0.0 and softdevice s140_nrf52_7.0.1 what is the proper way to set these bits through sdk_config or softdevice API? 

Thanks

Parents
  • Hi,

    The SoftDevice can be configured to use one of two available LFCLK sources: the internal RC Oscillator, or external Crystal Oscillator. In both cases BYPASS and EXTERNAL is set to 0.

    There is no SoftDevice API or sdk_config.h settings for BYPASS or EXTERNAL. But, there is a workaround for this, and that is by starting the LFCLK before you enable the SoftDevice.

    NRF_CLOCK->LFCLKSRC = my_settings;
    
    NRF_CLOCK->TASKS_LFCLKSTART = 1;
    while(NRF_CLOCK->EVENTS_LFCLKSTARTED == 0);

    You can keep the softdevice configuration as-is (ie: SRC_XTAL and so-forth).

    If you hang in the while-loop when debugging, it might point to issues with the external oscillator connection.

Reply
  • Hi,

    The SoftDevice can be configured to use one of two available LFCLK sources: the internal RC Oscillator, or external Crystal Oscillator. In both cases BYPASS and EXTERNAL is set to 0.

    There is no SoftDevice API or sdk_config.h settings for BYPASS or EXTERNAL. But, there is a workaround for this, and that is by starting the LFCLK before you enable the SoftDevice.

    NRF_CLOCK->LFCLKSRC = my_settings;
    
    NRF_CLOCK->TASKS_LFCLKSTART = 1;
    while(NRF_CLOCK->EVENTS_LFCLKSTARTED == 0);

    You can keep the softdevice configuration as-is (ie: SRC_XTAL and so-forth).

    If you hang in the while-loop when debugging, it might point to issues with the external oscillator connection.

Children
No Data
Related