一,配置打印
1,主要是在sdk_config.h中配置两个宏:
NRF_LOG_ENABLED,NRF_LOG_BACKEND_RTT_ENABLED
将这两个值 的宏定义从0改为1,
2,在主循环中使用:NRF_LOG_PROCESS(); 这个函数,否则也不会有打印信息出来。
3,然后程序中使用 NRF_LOG_INFO("test info"),即可在debug时在调试窗口看到打印的log。
二,调用打印信息时机选择
nRF_Log还有一个功能:
1,如果不使能Deferred,那么调用NRF_LOG_INFO等API的时候,立马就Flush,即把日志打印出去;
2,如果使能了Deferred,那么调用NRF_LOG_INFO等API的时候,只是把打印数据放在RAM中,真正的打印由main函数中的NRF_LOG_PROCESS完成,相关宏可以在sdk_config.h中找到 , 即NRF_LOG_DEFERRED
代码如下:
//1,立即打印
static void idle_state_handle(void)
{
//NRF_LOG_FLUSH();//不打印调试信息
UNUSED_RETURN_VALUE(NRF_LOG_PROCESS());//打印调试信息
nrf_pwr_mgmt_run();
}
//2,保存在ram中
static void idle_state_handle(void)
{
NRF_LOG_FLUSH();//不打印调试信息
//UNUSED_RETURN_VALUE(NRF_LOG_PROCESS());//打印调试信息
nrf_pwr_mgmt_run();
}
最后
以上就是优雅彩虹最近收集整理的关于NRF52832 打开SDK内部log调试的全部内容,更多相关NRF52832内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复