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

Programming issue

Hii guys ,

      I have a customised nrf module based on nrf52810 . I have dumped ble_app_beacon code and it works fine but when i dump ble_app_uart example code then i am not able to see on my mobile application like nrf connect and nrf toolbox.

What are the modification that i need to do in ble_app_uart source code.

Thank you.

  • Hi,

    Does your module include the 32 KHz crystal? If not, you need to select the internal RC oscillator as the clock source, see sdk_config.h settings below.

    sdk_config.h config settings to select internal RC oscillator with calibration

    // </h> 
    //==========================================================
    
    // <h> Clock - SoftDevice clock configuration
    
    //==========================================================
    // <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
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. 
    #ifndef NRF_SDH_CLOCK_LF_RC_CTIV
    #define NRF_SDH_CLOCK_LF_RC_CTIV 16
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. 
    // <i> How often (in number of calibration intervals) the RC oscillator shall be calibrated
    // <i>  if the temperature has not changed.
    
    #ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV
    #define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_ACCURACY  - External clock accuracy used in the LL to compute timing.
     
    // <0=> NRF_CLOCK_LF_ACCURACY_250_PPM 
    // <1=> NRF_CLOCK_LF_ACCURACY_500_PPM 
    // <2=> NRF_CLOCK_LF_ACCURACY_150_PPM 
    // <3=> NRF_CLOCK_LF_ACCURACY_100_PPM 
    // <4=> NRF_CLOCK_LF_ACCURACY_75_PPM 
    // <5=> NRF_CLOCK_LF_ACCURACY_50_PPM 
    // <6=> NRF_CLOCK_LF_ACCURACY_30_PPM 
    // <7=> NRF_CLOCK_LF_ACCURACY_20_PPM 
    // <8=> NRF_CLOCK_LF_ACCURACY_10_PPM 
    // <9=> NRF_CLOCK_LF_ACCURACY_5_PPM 
    // <10=> NRF_CLOCK_LF_ACCURACY_2_PPM 
    // <11=> NRF_CLOCK_LF_ACCURACY_1_PPM 
    
    #ifndef NRF_SDH_CLOCK_LF_ACCURACY
    #define NRF_SDH_CLOCK_LF_ACCURACY 1
    #endif

    You may also be getting an UART error condition if your UART RX input is left floating on your board. You can comment the "APP_ERROR_HANDLER(p_event->data.error_communication);" line in the APP_UART_COMMUNICATION_ERROR event to ignore such errros for now.

  • Hii vidar,  

              Thanks for the help , I dumped example code from pca10040e instead of pca10040 . I believe its working fine and there is no error in source code, but i stuck with another issue 

    -> I am not able to send and receive data using nrf connect . What do you think what could go wrong??

  • Hi,

    Ok, that explains why it didn't work at first.

    NJ_B said:
    I am not able to send and receive data using nrf connect . What do you think what could go wrong??

    Are you following the steps described in the Testing section of the example documentation, and have you verified that the UART pins assigments are correct for your board?

Related