摘要
记录日志打印的使用方法
日志打印在项目当中很常见,比如程序流程的通知,报错,警告等
esp32内置的日志打印api可以很方便快捷的进行日志打印
一、使用到的新函数
使用这三个函数之前我们需要引入库文件“esp_loh.h”
函数的具体定义头文件里有详细说明,这里只做简单介绍
1.ESP_LOGI();
参数可以包含两个,一个为日志标题或者理解为日志来源,来源哪个部分,第二个参数就是要显示出来的文本内容;
示例:
ESP_LOGI("main_app","LED_TURN_ON");
效果就是打印了一条information,标题为main_app,内容为LED_TURN_ON的日志
2.ESP_LOGW();
使用同上
3.ESP_LOGE();
使用同上
二、demo
综合前几次学习的知识做了一个大杂烩
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
#include "driver/gpio.h"
void app_main(void)
{
gpio_pad_select_gpio(2);
gpio_set_direction(2,GPIO_MODE_OUTPUT);
gpio_set_level(2,0);
printf("你好世界\n");
printf("Hello World\n");
while(1){
ESP_LOGI("main_app","LED_TURN_ON");
ESP_LOGW("main_app","LED_TURN_ON");
ESP_LOGE("main_app","LED_TURN_ON");
gpio_set_level(2,1);
vTaskDelay(1000/portTICK_PERIOD_MS);
ESP_LOGI("main_app","LED_TURN)OFF");
ESP_LOGW("main_app","LED_TURN)OFF");
ESP_LOGE("main_app","LED_TURN)OFF");
gpio_set_level(2,0);
vTaskDelay(1000/portTICK_PERIOD_MS);
}
}
芯片重启后会先正常打印你好世界和hello world
然后以日志的形式打印led的状态,延时时间为1s