1 在sdk_config.h中配置两个宏:
NRF_LOG_ENABLED 1
NRF_LOG_BACKEND_RTT_ENABLED 1
2 需要初始化NRF LOG
static void log_init(void)
{
ret_code_t err_code = NRF_LOG_INIT(NULL);
APP_ERROR_CHECK(err_code);
NRF_LOG_DEFAULT_BACKENDS_INIT();
}
3 连接RTT VIEWER
4 输出打印语句,配置是否实时打印。
(1)如果不使能Deferred,调用NRF_LOG_INFO等API的时候,跟着NRF_LOG_FLUSH();即把日志打印出去;
(2)如果使能了Deferred,那么调用NRF_LOG_INFO等API的时候,先把打印数据放在RAM中,待到main函数中的NRF_LOG_PROCESS完成时打印信息。
UNUSED_RETURN_VALUE(NRF_LOG_PROCESS());//打印调试信息