Hi,
I am using BMD301 chip on my custom board which schematic i have shown below,I need to enable UART as well as nrf_log in my application.
For this I am using SDK 15.3 PCA10040,
For that i am using \nRF5_SDK_15.3.0_59ac345\examples\peripheral\uart and
\nRF5_SDK_15.3.0_59ac345\examples\ble_peripheral\ble_app_uart examples.
I have uploaded \nRF5_SDK_15.3.0_59ac345\examples\peripheral\uart,
BMD restarting constaly by printing first letter only which is "U" here.
But I am not able get any data on my uart pin.So, please provide solutions.
By changing configuration RX,TX pin according to my requirement
like this,
int main(void) { uint32_t err_code; bsp_board_init(BSP_INIT_LEDS); const app_uart_comm_params_t comm_params = { 31,//RX_PIN_NUMBER, 30,//TX_PIN_NUMBER, RTS_PIN_NUMBER, CTS_PIN_NUMBER, UART_HWFC, false, #if defined (UART_PRESENT) NRF_UART_BAUDRATE_115200 #else NRF_UARTE_BAUDRATE_115200 #endif }; APP_UART_FIFO_INIT(&comm_params, UART_RX_BUF_SIZE, UART_TX_BUF_SIZE, uart_error_handle, APP_IRQ_PRIORITY_LOWEST, err_code); APP_ERROR_CHECK(err_code); #ifndef ENABLE_LOOPBACK_TEST printf("UART example started \n"); while (true) { uint8_t data[30]; memset(data,0,sizeof(data)); uint32_t err; int i=0; uint8_t cr; UART_READ: if (app_uart_get(&cr) == NRF_SUCCESS) { //app_uart_put(cr); data[i++]=cr; goto UART_READ; } if(i>0) printf("Received : %s \n",data); nrf_delay_ms(1000); printf("Running\n"); } #else // This part of the example is just for testing the loopback . while (true) { uart_loopback_test(); } #endif } also added this in sdk_config.h // </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_XTAL_ACCURACY - External crystal clock accuracy used in the LL to compute timing windows. // <0=> NRF_CLOCK_LF_XTAL_ACCURACY_250_PPM // <1=> NRF_CLOCK_LF_XTAL_ACCURACY_500_PPM // <2=> NRF_CLOCK_LF_XTAL_ACCURACY_150_PPM // <3=> NRF_CLOCK_LF_XTAL_ACCURACY_100_PPM // <4=> NRF_CLOCK_LF_XTAL_ACCURACY_75_PPM // <5=> NRF_CLOCK_LF_XTAL_ACCURACY_50_PPM // <6=> NRF_CLOCK_LF_XTAL_ACCURACY_30_PPM // <7=> NRF_CLOCK_LF_XTAL_ACCURACY_20_PPM #ifndef NRF_SDH_CLOCK_LF_XTAL_ACCURACY #define NRF_SDH_CLOCK_LF_XTAL_ACCURACY 7 #endif