ESP32-IDF开发过程中的信息调试
使用ESP32-IDF开发时,最简单的方法就是使用printf();
函数输出调试信息,但是IDF给了我们更优秀的信息调试装置,库中有以下五种LOG输出函数,详细度从最低到最高。
ESP_LOGE - 错误(最低)
ESP_LOGW - 警告
ESP_LOGI - 信息
ESP_LOGD - 调试
ESP_LOGV - 详细(最高)
考虑到线程安全,在FREERTOS中尽量使用ESP_LOGx来输出调试信息和打印消息。
在编译时:在menuconfig中,使用选项设置详细程度CONFIG_LOG_DEFAULT_LEVEL
。详细程度高于的所有日志记录语句CONFIG_LOG_DEFAULT_LEVEL
将被预处理器删除。
在运行时:详细级别低于的所有日志CONFIG_LOG_DEFAULT_LEVEL
默认情况下启用。该功能esp_log_level_set()
可用于按模块设置日志记录级别。模块由其标签标识,这些标签是可读的ASCII零终止字符串。
如果想使用所有级别的输出日志,在头文件前面定义:
#define LOG_LOCAL_LEVEL ESP_LOG_VERBOSE
#include <esp_log.h>
在代码中用五种级别输出信息:
ESP_LOGI(TAG, "Hello Bug! ^_^ %d", 1);
ESP_LOGE(TAG, "Hello Bug! ^_^ %d", 2);
ESP_LOGW(TAG, "Hello Bug! ^_^ %d", 3);
ESP_LOGD(TAG, "Hello Bug! ^_^ %d", 4);
ESP_LOGV(TAG, "Hello Bug! ^_^ %d", 5);
效果如下图所示:
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。