- 代碼配置
-
// <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 //選擇爲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 // <30801920=> 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 30801920 #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 6 #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 8 #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 5 #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 7 #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 //選擇爲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
makefile 裏面 增加 CFLAGS += -DNRF_LOG_USES_RTT=1#guang add CFLAGS += -DNRF_LOG_USES_UART=0#guang add
增加頭文件 #include "SEGGER_RTT.h" #define NRF_LOG_MODULE_NAME "MAIN" #include "nrf_log.h" #include "nrf_log_ctrl.h"
測試代碼如下: SEGGER_RTT_Init(); SEGGER_RTT_ConfigUpBuffer(0, NULL, NULL, 0, SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL); uint8_t rtt=0; while(1){ xd_delay_ms(1000); xd_uart_printf("hello\n"); NRF_LOG_INFO("UART Start!\r\n"); rtt++; SEGGER_RTT_printf(0, "%d\r\n\r\n",rtt); SEGGER_RTT_WriteString(0, "###### Testing SEGGER_printf() ######\r\n"); //xd_uart_printf("\r\n%ds\r\n", i); SEGGER_RTT_printf(0, "%sResetting in %d second..%s\n", RTT_CTRL_BG_BRIGHT_RED, 1, RTT_CTRL_RESET); }
- 工具查看 使用 jlinkExe 命令行來進入命令行,來進行配置連接方式,通信速率。使用jlinkRttClient來觀察log。
-
-
- jlinkRTTClient 工具使用方法
- 打開JlinkRTTClient 即可打出log