Device reset happening and i can't able to upload the code

Hello,

In my project i am using  nrf52840 with my custom board and to upload the code through NRF_CONNECT application with soft device its uploading properly but with  segger emmbedded its giving some error like this .please have look and let me know what is the problem.

after this i have add DEBUG in preprocessor definition and i got this

thank you.

Parents Reply Children
  • Hello simonr,

    thanks for your  reply,

    while debugging i got this after few second 

    info> app: defualt break2
    <info> app: data_array2:
    K,0.00,0,0,110
    <info> app: opt1:0
    <info> app: defualt break2
    <info> app: data_array2:
    K,0.00,0,0,110
    <info> app: opt1:0
    <info> app: defualt break2
    <info> app: data_array2:
    K,0.00,0,0,110
    <info> app: data_array2:OK,0.00,0,0,110
    <info> app: data_array2:OK,0.00,0,0,110
    <info> app: data_array2:OK,0.00,0,0,110
    <info> app: data_array2:OK,0.00,0,0,110
    <info> app: data_array2:OK,0.00,0,0,110
    <info> app: data_array2:OK,0.00,0,0,110
    <info> app: data_array2:OK,0.00,0,0,110
    <info> app: data_array2:OK,0.00,0,0,110
    <info> app: data_array2:OK,0.00,0,0,110
    <info> app: iam in app uart cmn err
    <error> app: ERROR 1 [NRF_ERROR_SVC_HANDLER_MISSING] at C:\A\DeviceDownload\nRF5SDK1702d674dde\nRF5_SDK_17.0.2_d674dde\examples\
    <error> app: End of error report

    for more information i copy the error also .

    here data_array2 is the data from the sensor board and which is connected to the UART P1.3(TX), UART P1.4(RX) pins of the MCU and at this time BLE is connected to my MCU device but when i am trying to send the data from the customized APP its working for few second and its stopped by displaying the above error and BLE gets disconnected after this.

    this is uart_init() for handing the sensor data over MAX232 
    
    
    void uart_event_handle(app_uart_evt_t * p_event)
    {
      
        static uint8_t index = 0;
        uint32_t       err_code;
       
        switch (p_event->evt_type)
        {
            case APP_UART_DATA_READY:
                UNUSED_VARIABLE(app_uart_get(&data_array[index]));
                index++;
    
                if ((data_array[index - 1] == '\n') ||
                    (data_array[index - 1] == '\r') ||
                    (index >= m_ble_nus_max_data_len))
                {
                    if (index > 1)
                    {
                        NRF_LOG_DEBUG("Ready to send data over BLE NUS");
                        NRF_LOG_HEXDUMP_DEBUG(data_array, index);
    
                        do
                        {
                            uint16_t length = (uint16_t)index;
                            err_code = ble_nus_data_send(&m_nus, data_array, &length, m_conn_handle);
                            if ((err_code != NRF_ERROR_INVALID_STATE) &&
                                (err_code != NRF_ERROR_RESOURCES) &&
                                (err_code != NRF_ERROR_NOT_FOUND))
                            {
                                APP_ERROR_CHECK(err_code);
                            }
                        } while (err_code == NRF_ERROR_RESOURCES);
                    }
    
                    index = 0;
                }
                break;
    
            case APP_UART_COMMUNICATION_ERROR:
                NRF_LOG_INFO("iam in app uart cmn err");
                APP_ERROR_HANDLER(p_event->data.error_communication);
                break;
    
            case APP_UART_FIFO_ERROR:
                NRF_LOG_INFO("iam in app uart fifo err");
                APP_ERROR_HANDLER(p_event->data.error_code);
                break;
    
            default:
                NRF_LOG_INFO(" defualt break2");
                break;
        }
       
       NRF_LOG_INFO("data_array2:%s",data_array);
       data_init(data_array);
      
     //   memset(data_array,0,20);
     }
    
    static void uart_init(void)
    {
       
          uint32_t                     err_code;     
          app_uart_comm_params_t const comm_params =
        {
            .rx_pin_no    = RX_PIN,//(P1.4)
            .tx_pin_no    = TX_PIN,//(P1.3)
            .rts_pin_no   = RTS_PIN_NUMBER,
            .cts_pin_no   = CTS_PIN_NUMBER,
            .flow_control = APP_UART_FLOW_CONTROL_ENABLED,
            .use_parity   = false,
      #if defined (UART_PRESENT)
            .baud_rate    = NRF_UART_BAUDRATE_115200
    
    #else
            .baud_rate    = NRF_UARTE_BAUDRATE_115200
    #endif
        };
    
          APP_UART_FIFO_INIT(&comm_params,
                         UART_RX_BUF_SIZE,
                         UART_TX_BUF_SIZE,
                         uart_event_handle,
                         APP_IRQ_PRIORITY_LOWEST,
                         err_code);
    
      
        APP_ERROR_CHECK(err_code);
        NRF_LOG_INFO("err:%d",err_code);
    
    }
    
    
    
    

    this is for handling the ble_uart data 
    
    static void nus_data_handler(ble_nus_evt_t * p_evt)
    {
         uint8_t result[120]={};
        if (p_evt->type == BLE_NUS_EVT_RX_DATA)
        {
            uint32_t err_code;
           
            uint8_t *PRCS;
    
            NRF_LOG_DEBUG("Received data from BLE NUS. Writing data on UART.");
            NRF_LOG_HEXDUMP_DEBUG(p_evt->params.rx_data.p_data, p_evt->params.rx_data.length);
    
            for (uint32_t i = 0; i < p_evt->params.rx_data.length; i++)
            {
             result[i]=p_evt->params.rx_data.p_data[i];
          
            NRF_LOG_INFO("result:%s",result);
            NRF_LOG_FLUSH();
            }
    
    
            for (uint32_t i = 0; i < p_evt->params.rx_data.length; i++)
            {
               FINAL[i]=p_evt->params.rx_data.p_data[i];
            
            NRF_LOG_INFO("FINAL:%s",FINAL);
            NRF_LOG_FLUSH();
            
            }
            
           
            if((result[0]=='P') && (result[1]=='R') && (result[2]=='O'))
            {
                internal_process(result);
               
            }
    
             command_init(result);
            
            
          
    
    
        }
    
    }

    please let me know can i use single UART (P1.3,P1.4 ) for handling this to or i need to use two UART.

    from above error i got that when its connected to the ble its fine when data send from the mobile APP its received properly but at the same time data received from the sensor to the RX pin its getting disconnect .

    please help me to resolve this .

    thank you.

Related