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

SDK14 ble_periphal example dont work

Hi, i downloaded new SDK14 with example, after i upload hex from example in ble_peripheral/ble_app_hrs I use s132 / nrf52

program stuck here :

ret_code_t nrf_sdh_enable_request(void)
{
    ret_code_t ret_code;

    if (m_nrf_sdh_enabled)
    {
        return NRF_ERROR_INVALID_STATE;
    }

    m_nrf_sdh_continue = true;

    // Notify observers about SoftDevice enable request.
    if (sdh_request_observer_notify(NRF_SDH_EVT_ENABLE_REQUEST) == NRF_ERROR_BUSY)
    {
        // Enable process was stopped.
        return NRF_SUCCESS;
    }

    // Notify observers about starting SoftDevice enable process.
    sdh_state_observer_notify(NRF_SDH_EVT_STATE_ENABLE_PREPARE);

    nrf_clock_lf_cfg_t const clock_lf_cfg =
    {
        .source        = NRF_SDH_CLOCK_LF_SRC,
        .rc_ctiv       = NRF_SDH_CLOCK_LF_RC_CTIV,
        .rc_temp_ctiv  = NRF_SDH_CLOCK_LF_RC_TEMP_CTIV,
    #ifdef S132
        .accuracy      = NRF_SDH_CLOCK_LF_XTAL_ACCURACY
    #else
        .xtal_accuracy = NRF_SDH_CLOCK_LF_XTAL_ACCURACY
    #endif
    };

    #ifdef ANT_LICENSE_KEY
        ret_code = sd_softdevice_enable(&clock_lf_cfg, app_error_fault_handler, ANT_LICENSE_KEY);
    #else
        ret_code = sd_softdevice_enable(&clock_lf_cfg, app_error_fault_handler);
    #endif

    if (ret_code != NRF_SUCCESS)
    {
        return ret_code;
    }

on ret_code = sd_softdevice_enable(&clock_lf_cfg, app_error_fault_handler);

same problem is, if i recomplile whole project a load new one.

could someone help me, where is the problem ? regards

Parents
  • According to chapter 2.1 "Specification Summary" in the Datasheet for the BL652 module there are no 32.765kHz crystal on the module:

    optional

    There seems to be one on the LAIRD BL652 development kit though, but it has to be connected to the module with solderbridges SB8 & 9:

    laird

    You can also change the LF clock source in your code in sdk_config.h by setting:

    // <o> NRF_SDH_CLOCK_LF_SRC  - SoftDevice clock source.
     
    // <0=> NRF_CLOCK_LF_SRC_RC 
    // <1=> NRF_CLOCK_LF_SRC_XTAL 
    // <2=> NRF_CLOCK_LF_SRC_SYNTH 
    
    #ifndef NRF_SDH_CLOCK_LF_SRC
    #define NRF_SDH_CLOCK_LF_SRC 0 // <- Set to zero to use internal RC oscillator
    #endif
    
Reply
  • According to chapter 2.1 "Specification Summary" in the Datasheet for the BL652 module there are no 32.765kHz crystal on the module:

    optional

    There seems to be one on the LAIRD BL652 development kit though, but it has to be connected to the module with solderbridges SB8 & 9:

    laird

    You can also change the LF clock source in your code in sdk_config.h by setting:

    // <o> NRF_SDH_CLOCK_LF_SRC  - SoftDevice clock source.
     
    // <0=> NRF_CLOCK_LF_SRC_RC 
    // <1=> NRF_CLOCK_LF_SRC_XTAL 
    // <2=> NRF_CLOCK_LF_SRC_SYNTH 
    
    #ifndef NRF_SDH_CLOCK_LF_SRC
    #define NRF_SDH_CLOCK_LF_SRC 0 // <- Set to zero to use internal RC oscillator
    #endif
    
Children
Related