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);

效果如下图所示:

img

posted @ 2024-12-06 17:12  shumei52  阅读(230)  评论(0)    收藏  举报