RTT Log 打印:
参考:https://blog.csdn.net/qq_28877125/article/details/86308317
言简意赅 先做再说
板子:E:\BaiduNetdiskDownload\NRF52832DK\nRF5_SDK_15.2.0\nRF5_SDK_15.2.0_9412b96\examples\ble_peripheral\ble_app_blinky
直接debug
结论:比较简单 就是一句话
NRF_LOG_BACKEND_RTT_ENABLED 1
NRF_LOG_BACKEND_UART_ENABLED 0
UART_CONFIG_LOG_ENABLED
即可
UART打印:
测试代码
advertising_start();
NRF_LOG_ERROR("HELLO\r\n");
NRF_LOG_WARNING("HELLO\r\n");
NRF_LOG_INFO("HELLO\r\n");
NRF_LOG_DEBUG("HELLO\r\n");
代码
NRF_LOG_BACKEND_RTT_ENABLED 0
NRF_LOG_BACKEND_UART_ENABLED 1
后面的红开关
NRF_LOG_BACKEND_UART_BAUDRATE -- 115200
NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE --256
NRF_LOG_BACKEND_UART_TX_PIN --6
最重要的就是接线了 因为RTT不需要接线 这里需要一个USB串口
一些红
NRF_LOG_DEFAULT_LEVEL 4 全部打印
举例说明
#ifndef NRF_LOG_DEFAULT_LEVEL
#define NRF_LOG_DEFAULT_LEVEL 3
#endif
此时我看到
NRF_LOG_ERROR("HELLO\r\n");
NRF_LOG_WARNING("HELLO\r\n");
NRF_LOG_INFO("HELLO\r\n");
NRF_LOG_DEBUG("HELLO\r\n");
00> <error> app: HELLO
00> <warning> app: HELLO
00> <info> app: HELLO
没有出现最后一个
因为
// <0=> Off
// <1=> Error
// <2=> Warning
// <3=> Info
// <4=> Debug
也就是我设置的是3 可以打印0-1-2-3 不能打印4
NRF_LOG_USES_COLORS=1
NRF_LOG_COLOR_DEFAULT=3
+++++++++++++++++++继续+++++++++++++++++
准备GUI 参考文字 https://mp.weixin.qq.com/s/jIdsaxiD3D677DtzkOZgQQ
注意 我需要重新修改printf
如果需要使用打印调试功能的话,平时的使用MicroLIB的方法重定向printf函数就行不通了
参考 串口打印知多少? https://mp.weixin.qq.com/s/BBY9v_o6A0fU7t6lQeO6rw
http://news.eeworld.com.cn/mcu/ic467839.html
在MDK环境中,我们常常使用MicroLIB+fputc的方式实现串口打印功能
正点原子裸机串口相关的例程,他们的串口例程里不使用MicroLIB,而是使用标准库+fputc的方式
我的问题 NRF_LOG_INFO 不使用 MicroLIB
https://www.pianshen.com/article/16361546458/
https://www.cnblogs.com/iini/p/9279618.html 只能1个断点
我第一步直接去掉勾勾 出现问题
.\_build\nrf52840_xxaa.axf: Error: L6200E: Symbol __stdout_name multiply defined (by sys_io.o and segger_rtt_syscalls_keil.o).
.\_build\nrf52840_xxaa.axf: Error: L6200E: Symbol __stderr_name multiply defined (by sys_io.o and segger_rtt_syscalls_keil.o).
.\_build\nrf52840_xxaa.axf: Error: L6200E: Symbol _sys_close multiply defined (by sys_io.o and segger_rtt_syscalls_keil.o).
.\_build\nrf52840_xxaa.axf: Error: L6200E: Symbol _sys_ensure multiply defined (by sys_io.o and segger_rtt_syscalls_keil.o).
.\_build\nrf52840_xxaa.axf: Error: L6200E: Symbol _sys_flen multiply defined (by sys_io.o and segger_rtt_syscalls_keil.o).
.\_build\nrf52840_xxaa.axf: Error: L6200E: Symbol _sys_istty multiply defined (by sys_io.o and segger_rtt_syscalls_keil.o).
.\_build\nrf52840_xxaa.axf: Error: L6200E: Symbol _sys_open multiply defined (by sys_io.o and segger_rtt_syscalls_keil.o).
.\_build\nrf52840_xxaa.axf: Error: L6200E: Symbol _sys_read multiply defined (by sys_io.o and segger_rtt_syscalls_keil.o).
.\_build\nrf52840_xxaa.axf: Error: L6200E: Symbol _sys_seek multiply defined (by sys_io.o and segger_rtt_syscalls_keil.o).
.\_build\nrf52840_xxaa.axf: Error: L6200E: Symbol _sys_write multiply defined (by sys_io.o and segger_rtt_syscalls_keil.o).
第二步下架文件夹中2个问题可以看log