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

No data output from uart

Hi, Everyone

My development environment is PCA10028, SoftDevice 130, SDK12.3.0

I am testing the input and output of the uart using nRF5_SDK_12.3.0_d7731ad\examples\peripheral\uart
I use RTT for debugging and uart for communication with sensor.
Terminal programs use Realterm.
1. If I use sdk_config_1.h, it will be input and output to the terminal.
However, if I use sdk_config_2.h, it will not be input and output to the terminal 2. Both sdk_config_1.h and sdk_config_2.h do not output data to the RTT Viewer.

I do not know why this is happening.


/**
 * Copyright (c) 2014 - 2017, Nordic Semiconductor ASA
 * 
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification,
 * are permitted provided that the following conditions are met:
 * 
 * 1. Redistributions of source code must retain the above copyright notice, this
 *    list of conditions and the following disclaimer.
 * 
 * 2. Redistributions in binary form, except as embedded into a Nordic
 *    Semiconductor ASA integrated circuit in a product or a software update for
 *    such product, must reproduce the above copyright notice, this list of
 *    conditions and the following disclaimer in the documentation and/or other
 *    materials provided with the distribution.
 * 
 * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
 *    contributors may be used to endorse or promote products derived from this
 *    software without specific prior written permission.
 * 
 * 4. This software, with or without modification, must only be used with a
 *    Nordic Semiconductor ASA integrated circuit.
 * 
 * 5. Any software provided in binary form under this license must not be reverse
 *    engineered, decompiled, modified and/or disassembled.
 * 
 * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 */

/** @file
 * @defgroup uart_example_main main.c
 * @{
 * @ingroup uart_example
 * @brief UART Example Application main file.
 *
 * This file contains the source code for a sample application using UART.
 *
 */

#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include "app_uart.h"
#include "app_error.h"
#include "nrf_delay.h"
#include "nrf.h"
#include "bsp.h"

#if 1
#define NRF_LOG_MODULE_NAME "APP"
#include "nrf_log.h"
#include "nrf_log_ctrl.h"
#endif

//#define ENABLE_LOOPBACK_TEST  /**< if defined, then this example will be a loopback test, which means that TX should be connected to RX to get data loopback. */

#define MAX_TEST_DATA_BYTES     (15U)                /**< max number of test bytes to be used for tx and rx. */
#define UART_TX_BUF_SIZE 256                         /**< UART TX buffer size. */
#define UART_RX_BUF_SIZE 256                         /**< UART RX buffer size. */

void uart_error_handle(app_uart_evt_t * p_event)
{
    if (p_event->evt_type == APP_UART_COMMUNICATION_ERROR)
    {
        APP_ERROR_HANDLER(p_event->data.error_communication);
    }
    else if (p_event->evt_type == APP_UART_FIFO_ERROR)
    {
        APP_ERROR_HANDLER(p_event->data.error_code);
    }
}



#ifdef ENABLE_LOOPBACK_TEST
/** @brief Function for setting the @ref ERROR_PIN high, and then enter an infinite loop.
 */
static void show_error(void)
{

    bsp_board_leds_on();
    while (true)
    {
        // Do nothing.
    }
}


/** @brief Function for testing UART loop back.
 *  @details Transmitts one character at a time to check if the data received from the loopback is same as the transmitted data.
 *  @note  @ref TX_PIN_NUMBER must be connected to @ref RX_PIN_NUMBER)
 */
static void uart_loopback_test()
{
    uint8_t * tx_data = (uint8_t *)("\r\nLOOPBACK_TEST\r\n");
    uint8_t   rx_data;

    // Start sending one byte and see if you get the same
    for (uint32_t i = 0; i < MAX_TEST_DATA_BYTES; i++)
    {
        uint32_t err_code;
        while (app_uart_put(tx_data[i]) != NRF_SUCCESS);

        nrf_delay_ms(10);
        err_code = app_uart_get(&rx_data);

        if ((rx_data != tx_data[i]) || (err_code != NRF_SUCCESS))
        {
            show_error();
        }
    }
    return;
}


#endif


/**
 * @brief Function for main application entry.
 */
int main(void)
{
    uint32_t err_code;

    bsp_board_leds_init();

    const app_uart_comm_params_t comm_params =
      {
          RX_PIN_NUMBER,
          TX_PIN_NUMBER,
          RTS_PIN_NUMBER,
          CTS_PIN_NUMBER,
          APP_UART_FLOW_CONTROL_ENABLED,
          false,
          UART_BAUDRATE_BAUDRATE_Baud115200
      };

    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("\r\nStart: \r\n");

    while (true)
    {
        uint8_t cr;
		app_uart_put(0x30);
        while (app_uart_get(&cr) != NRF_SUCCESS);
//		NRF_LOG_INFO("\r\nReceived: \r\n");
//		printf("\r\nReceived: \r\n");
        while (app_uart_put(cr) != NRF_SUCCESS);

        if (cr == 'q' || cr == 'Q')
        {
            printf(" \r\nExit!\r\n");

            while (true)
            {
                // Do nothing.
            }
        }
    }
#else

    // This part of the example is just for testing the loopback .
    while (true)
    {
        uart_loopback_test();
    }
#endif
}


/** @} */
sdk_config_1.hsdk_config_2.h
Parents
  • Hi Alex,

    I would recommend that you take a look at the logger module documentation.

    Here is how you can set the sdk_config.h to enable RTT.

    
    #ifndef SDK_CONFIG_H
    #define SDK_CONFIG_H
    // <<< Use Configuration Wizard in Context Menu >>>\n
    #ifdef USE_APP_CONFIG
    #include "app_config.h"
    #endif
    // <h> nRF_Drivers 
    
    //==========================================================
    // <e> PERIPHERAL_RESOURCE_SHARING_ENABLED - nrf_drv_common - Peripheral drivers common module
    //==========================================================
    #ifndef PERIPHERAL_RESOURCE_SHARING_ENABLED
    #define PERIPHERAL_RESOURCE_SHARING_ENABLED 0
    #endif
    #if  PERIPHERAL_RESOURCE_SHARING_ENABLED
    // <e> COMMON_CONFIG_LOG_ENABLED - Enables logging in the module.
    //==========================================================
    #ifndef COMMON_CONFIG_LOG_ENABLED
    #define COMMON_CONFIG_LOG_ENABLED 0
    #endif
    #if  COMMON_CONFIG_LOG_ENABLED
    // <o> COMMON_CONFIG_LOG_LEVEL  - Default Severity level
     
    // <0=> Off 
    // <1=> Error 
    // <2=> Warning 
    // <3=> Info 
    // <4=> Debug 
    
    #ifndef COMMON_CONFIG_LOG_LEVEL
    #define COMMON_CONFIG_LOG_LEVEL 3
    #endif
    
    // <o> COMMON_CONFIG_INFO_COLOR  - ANSI escape code prefix.
     
    // <0=> Default 
    // <1=> Black 
    // <2=> Red 
    // <3=> Green 
    // <4=> Yellow 
    // <5=> Blue 
    // <6=> Magenta 
    // <7=> Cyan 
    // <8=> White 
    
    #ifndef COMMON_CONFIG_INFO_COLOR
    #define COMMON_CONFIG_INFO_COLOR 0
    #endif
    
    // <o> COMMON_CONFIG_DEBUG_COLOR  - ANSI escape code prefix.
     
    // <0=> Default 
    // <1=> Black 
    // <2=> Red 
    // <3=> Green 
    // <4=> Yellow 
    // <5=> Blue 
    // <6=> Magenta 
    // <7=> Cyan 
    // <8=> White 
    
    #ifndef COMMON_CONFIG_DEBUG_COLOR
    #define COMMON_CONFIG_DEBUG_COLOR 0
    #endif
    
    #endif //COMMON_CONFIG_LOG_ENABLED
    // </e>
    
    #endif //PERIPHERAL_RESOURCE_SHARING_ENABLED
    // </e>
    
    // <e> UART_ENABLED - nrf_drv_uart - UART/UARTE peripheral driver
    //==========================================================
    #ifndef UART_ENABLED
    #define UART_ENABLED 1
    #endif
    #if  UART_ENABLED
    // <o> UART_DEFAULT_CONFIG_HWFC  - Hardware Flow Control
     
    // <0=> Disabled 
    // <1=> Enabled 
    
    #ifndef UART_DEFAULT_CONFIG_HWFC
    #define UART_DEFAULT_CONFIG_HWFC 0
    #endif
    
    // <o> UART_DEFAULT_CONFIG_PARITY  - Parity
     
    // <0=> Excluded 
    // <14=> Included 
    
    #ifndef UART_DEFAULT_CONFIG_PARITY
    #define UART_DEFAULT_CONFIG_PARITY 0
    #endif
    
    // <o> UART_DEFAULT_CONFIG_BAUDRATE  - Default Baudrate
     
    // <323584=> 1200 baud 
    // <643072=> 2400 baud 
    // <1290240=> 4800 baud 
    // <2576384=> 9600 baud 
    // <3862528=> 14400 baud 
    // <5152768=> 19200 baud 
    // <7716864=> 28800 baud 
    // <10289152=> 38400 baud 
    // <15400960=> 57600 baud 
    // <20615168=> 76800 baud 
    // <30924800=> 115200 baud 
    // <61865984=> 230400 baud 
    // <67108864=> 250000 baud 
    // <121634816=> 460800 baud 
    // <251658240=> 921600 baud 
    // <268435456=> 57600 baud 
    
    #ifndef UART_DEFAULT_CONFIG_BAUDRATE
    #define UART_DEFAULT_CONFIG_BAUDRATE 30924800
    #endif
    
    // <o> UART_DEFAULT_CONFIG_IRQ_PRIORITY  - Interrupt priority
     
    
    // <i> Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice
    // <0=> 0 (highest) 
    // <1=> 1 
    // <2=> 2 
    // <3=> 3 
    
    #ifndef UART_DEFAULT_CONFIG_IRQ_PRIORITY
    #define UART_DEFAULT_CONFIG_IRQ_PRIORITY 3
    #endif
    
    // <q> UART_EASY_DMA_SUPPORT  - Driver supporting EasyDMA
     
    
    #ifndef UART_EASY_DMA_SUPPORT
    #define UART_EASY_DMA_SUPPORT 1
    #endif
    
    // <q> UART_LEGACY_SUPPORT  - Driver supporting Legacy mode
     
    
    #ifndef UART_LEGACY_SUPPORT
    #define UART_LEGACY_SUPPORT 1
    #endif
    
    // <e> UART0_ENABLED - Enable UART0 instance
    //==========================================================
    #ifndef UART0_ENABLED
    #define UART0_ENABLED 1
    #endif
    #if  UART0_ENABLED
    // <q> UART0_CONFIG_USE_EASY_DMA  - Default setting for using EasyDMA
     
    
    #ifndef UART0_CONFIG_USE_EASY_DMA
    #define UART0_CONFIG_USE_EASY_DMA 1
    #endif
    
    #endif //UART0_ENABLED
    // </e>
    
    // <e> UART_CONFIG_LOG_ENABLED - Enables logging in the module.
    //==========================================================
    #ifndef UART_CONFIG_LOG_ENABLED
    #define UART_CONFIG_LOG_ENABLED 0
    #endif
    #if  UART_CONFIG_LOG_ENABLED
    // <o> UART_CONFIG_LOG_LEVEL  - Default Severity level
     
    // <0=> Off 
    // <1=> Error 
    // <2=> Warning 
    // <3=> Info 
    // <4=> Debug 
    
    #ifndef UART_CONFIG_LOG_LEVEL
    #define UART_CONFIG_LOG_LEVEL 3
    #endif
    
    // <o> UART_CONFIG_INFO_COLOR  - ANSI escape code prefix.
     
    // <0=> Default 
    // <1=> Black 
    // <2=> Red 
    // <3=> Green 
    // <4=> Yellow 
    // <5=> Blue 
    // <6=> Magenta 
    // <7=> Cyan 
    // <8=> White 
    
    #ifndef UART_CONFIG_INFO_COLOR
    #define UART_CONFIG_INFO_COLOR 0
    #endif
    
    // <o> UART_CONFIG_DEBUG_COLOR  - ANSI escape code prefix.
     
    // <0=> Default 
    // <1=> Black 
    // <2=> Red 
    // <3=> Green 
    // <4=> Yellow 
    // <5=> Blue 
    // <6=> Magenta 
    // <7=> Cyan 
    // <8=> White 
    
    #ifndef UART_CONFIG_DEBUG_COLOR
    #define UART_CONFIG_DEBUG_COLOR 0
    #endif
    
    #endif //UART_CONFIG_LOG_ENABLED
    // </e>
    
    #endif //UART_ENABLED
    // </e>
    
    // </h> 
    //==========================================================
    
    // <h> nRF_Libraries 
    
    //==========================================================
    // <q> APP_FIFO_ENABLED  - app_fifo - Software FIFO implementation
     
    
    #ifndef APP_FIFO_ENABLED
    #define APP_FIFO_ENABLED 1
    #endif
    
    // <e> APP_UART_ENABLED - app_uart - UART driver
    //==========================================================
    #ifndef APP_UART_ENABLED
    #define APP_UART_ENABLED 1
    #endif
    #if  APP_UART_ENABLED
    // <o> APP_UART_DRIVER_INSTANCE  - UART instance used
     
    // <0=> 0 
    
    #ifndef APP_UART_DRIVER_INSTANCE
    #define APP_UART_DRIVER_INSTANCE 0
    #endif
    
    #endif //APP_UART_ENABLED
    // </e>
    
    // <q> RETARGET_ENABLED  - retarget - Retargeting stdio functions
     
    
    #ifndef RETARGET_ENABLED
    #define RETARGET_ENABLED 1
    #endif
    
    // </h> 
    //==========================================================
    
    // <h> nRF_Log 
    
    //==========================================================
    // <e> NRF_LOG_ENABLED - nrf_log - Logging
    //==========================================================
    #ifndef NRF_LOG_ENABLED
    #define NRF_LOG_ENABLED 1
    #endif
    #if  NRF_LOG_ENABLED
    // <e> NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string
    //==========================================================
    #ifndef NRF_LOG_USES_COLORS
    #define NRF_LOG_USES_COLORS 0
    #endif
    #if  NRF_LOG_USES_COLORS
    // <o> NRF_LOG_COLOR_DEFAULT  - ANSI escape code prefix.
     
    // <0=> Default 
    // <1=> Black 
    // <2=> Red 
    // <3=> Green 
    // <4=> Yellow 
    // <5=> Blue 
    // <6=> Magenta 
    // <7=> Cyan 
    // <8=> White 
    
    #ifndef NRF_LOG_COLOR_DEFAULT
    #define NRF_LOG_COLOR_DEFAULT 0
    #endif
    
    // <o> NRF_LOG_ERROR_COLOR  - ANSI escape code prefix.
     
    // <0=> Default 
    // <1=> Black 
    // <2=> Red 
    // <3=> Green 
    // <4=> Yellow 
    // <5=> Blue 
    // <6=> Magenta 
    // <7=> Cyan 
    // <8=> White 
    
    #ifndef NRF_LOG_ERROR_COLOR
    #define NRF_LOG_ERROR_COLOR 0
    #endif
    
    // <o> NRF_LOG_WARNING_COLOR  - ANSI escape code prefix.
     
    // <0=> Default 
    // <1=> Black 
    // <2=> Red 
    // <3=> Green 
    // <4=> Yellow 
    // <5=> Blue 
    // <6=> Magenta 
    // <7=> Cyan 
    // <8=> White 
    
    #ifndef NRF_LOG_WARNING_COLOR
    #define NRF_LOG_WARNING_COLOR 0
    #endif
    
    #endif //NRF_LOG_USES_COLORS
    // </e>
    
    // <o> NRF_LOG_DEFAULT_LEVEL  - Default Severity level
     
    // <0=> Off 
    // <1=> Error 
    // <2=> Warning 
    // <3=> Info 
    // <4=> Debug 
    
    #ifndef NRF_LOG_DEFAULT_LEVEL
    #define NRF_LOG_DEFAULT_LEVEL 4
    #endif
    
    // <e> NRF_LOG_DEFERRED - Enable deffered logger.
    
    // <i> Log data is buffered and can be processed in idle.
    //==========================================================
    #ifndef NRF_LOG_DEFERRED
    #define NRF_LOG_DEFERRED 0
    #endif
    #if  NRF_LOG_DEFERRED
    // <o> NRF_LOG_DEFERRED_BUFSIZE - Size of the buffer for logs in words. 
    // <i> Must be power of 2
    
    #ifndef NRF_LOG_DEFERRED_BUFSIZE
    #define NRF_LOG_DEFERRED_BUFSIZE 256
    #endif
    
    #endif //NRF_LOG_DEFERRED
    // </e>
    
    // <q> NRF_LOG_USES_TIMESTAMP  - Enable timestamping
     
    
    // <i> Function for getting the timestamp is provided by the user
    
    #ifndef NRF_LOG_USES_TIMESTAMP
    #define NRF_LOG_USES_TIMESTAMP 0
    #endif
    
    #endif //NRF_LOG_ENABLED
    // </e>
    
    // <h> nrf_log_backend - Logging sink
    
    //==========================================================
    // <o> NRF_LOG_BACKEND_MAX_STRING_LENGTH - Buffer for storing single output string 
    // <i> Logger backend RAM usage is determined by this value.
    
    #ifndef NRF_LOG_BACKEND_MAX_STRING_LENGTH
    #define NRF_LOG_BACKEND_MAX_STRING_LENGTH 256
    #endif
    
    // <o> NRF_LOG_TIMESTAMP_DIGITS - Number of digits for timestamp 
    // <i> If higher resolution timestamp source is used it might be needed to increase that
    
    #ifndef NRF_LOG_TIMESTAMP_DIGITS
    #define NRF_LOG_TIMESTAMP_DIGITS 8
    #endif
    
    // <e> NRF_LOG_BACKEND_SERIAL_USES_UART - If enabled data is printed over UART
    //==========================================================
    #ifndef NRF_LOG_BACKEND_SERIAL_USES_UART
    #define NRF_LOG_BACKEND_SERIAL_USES_UART 0
    #endif
    #if  NRF_LOG_BACKEND_SERIAL_USES_UART
    // <o> NRF_LOG_BACKEND_SERIAL_UART_BAUDRATE  - Default Baudrate
     
    // <323584=> 1200 baud 
    // <643072=> 2400 baud 
    // <1290240=> 4800 baud 
    // <2576384=> 9600 baud 
    // <3862528=> 14400 baud 
    // <5152768=> 19200 baud 
    // <7716864=> 28800 baud 
    // <10289152=> 38400 baud 
    // <15400960=> 57600 baud 
    // <20615168=> 76800 baud 
    // <30924800=> 115200 baud 
    // <61865984=> 230400 baud 
    // <67108864=> 250000 baud 
    // <121634816=> 460800 baud 
    // <251658240=> 921600 baud 
    // <268435456=> 57600 baud 
    
    #ifndef NRF_LOG_BACKEND_SERIAL_UART_BAUDRATE
    #define NRF_LOG_BACKEND_SERIAL_UART_BAUDRATE 30924800
    #endif
    
    // <o> NRF_LOG_BACKEND_SERIAL_UART_TX_PIN - UART TX pin 
    #ifndef NRF_LOG_BACKEND_SERIAL_UART_TX_PIN
    #define NRF_LOG_BACKEND_SERIAL_UART_TX_PIN 9
    #endif
    
    // <o> NRF_LOG_BACKEND_SERIAL_UART_RX_PIN - UART RX pin 
    #ifndef NRF_LOG_BACKEND_SERIAL_UART_RX_PIN
    #define NRF_LOG_BACKEND_SERIAL_UART_RX_PIN 11
    #endif
    
    // <o> NRF_LOG_BACKEND_SERIAL_UART_RTS_PIN - UART RTS pin 
    #ifndef NRF_LOG_BACKEND_SERIAL_UART_RTS_PIN
    #define NRF_LOG_BACKEND_SERIAL_UART_RTS_PIN 8
    #endif
    
    // <o> NRF_LOG_BACKEND_SERIAL_UART_CTS_PIN - UART CTS pin 
    #ifndef NRF_LOG_BACKEND_SERIAL_UART_CTS_PIN
    #define NRF_LOG_BACKEND_SERIAL_UART_CTS_PIN 10
    #endif
    
    // <o> NRF_LOG_BACKEND_SERIAL_UART_FLOW_CONTROL  - Hardware Flow Control
     
    // <0=> Disabled 
    // <1=> Enabled 
    
    #ifndef NRF_LOG_BACKEND_SERIAL_UART_FLOW_CONTROL
    #define NRF_LOG_BACKEND_SERIAL_UART_FLOW_CONTROL 0
    #endif
    
    // <o> NRF_LOG_BACKEND_UART_INSTANCE  - UART instance used
     
    // <0=> 0 
    
    #ifndef NRF_LOG_BACKEND_UART_INSTANCE
    #define NRF_LOG_BACKEND_UART_INSTANCE 0
    #endif
    
    #endif //NRF_LOG_BACKEND_SERIAL_USES_UART
    // </e>
    
    // <e> NRF_LOG_BACKEND_SERIAL_USES_RTT - If enabled data is printed using RTT
    //==========================================================
    #ifndef NRF_LOG_BACKEND_SERIAL_USES_RTT
    #define NRF_LOG_BACKEND_SERIAL_USES_RTT 1
    #endif
    #if  NRF_LOG_BACKEND_SERIAL_USES_RTT
    // <o> NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE - RTT output buffer size. 
    // <i> Should be equal or bigger than \ref NRF_LOG_BACKEND_MAX_STRING_LENGTH.
    // <i> This value is used in Segger RTT configuration to set the buffer size
    // <i> if it is bigger than default RTT buffer size.
    
    #ifndef NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE
    #define NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE 512
    #endif
    
    #endif //NRF_LOG_BACKEND_SERIAL_USES_RTT
    // </e>
    
    // </h> 
    //==========================================================
    
    // </h> 
    //==========================================================
    
    // <h> nRF_Segger_RTT 
    
    //==========================================================
    // <h> segger_rtt - SEGGER RTT
    
    //==========================================================
    // <o> SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. 
    #ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP
    #define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 64
    #endif
    
    // <o> SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Size of upstream buffer. 
    #ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS
    #define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2
    #endif
    
    // <o> SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of upstream buffer. 
    #ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN
    #define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16
    #endif
    
    // <o> SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Size of upstream buffer. 
    #ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS
    #define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2
    #endif
    
    // </h> 
    //==========================================================
    
    // </h> 
    //==========================================================
    
    // <<< end of configuration section >>>
    #endif //SDK_CONFIG_H
    
    

     

    Remembember to add:

    static void log_init(void)
    {
        ret_code_t err_code = NRF_LOG_INIT(NULL);
        APP_ERROR_CHECK(err_code);
    
        
    		NRF_LOG_INFO("RTT Logging initialized");
    }

    to main.c.

     

     

    This thread could also be interesting.

  • Hi, Martin

    I added log_init () to main.c as advised by you

    The result of the program execution

    1. log_init ()

        APP_UART_FIFO_INIT ()

       => error_code 0x08 occurs in nrf_drv_uart_init ()

    2. APP_UART_FIFO_INIT ()

        log_init ()

      => No error occurred

    3. #define NRF_LOG_BACKEND_SERIAL_USES_UART 1

        #define NRF_LOG_BACKEND_SERIAL_USES_RTT 1

        If the setting is as above  I can not get uart input as input to app_uart_get ()

       Best regards,

  • Hi Alex,

    I am sorry for the delay, have you had any progress with this issue?
    If so could you give an update?

Reply Children
No Data
Related