ESP32 IDF开发过程中的调试模块使用
此篇文章在2022年2月18日被记录
使用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);
效果如下图所示:


浙公网安备 33010602011771号