缘由:
物联网小芯片中,很多都不是特别复杂,绝大多数问题都需要靠串口打印就能定位的。所以,串口打印是一个非常靠谱的玩意。一定要好好的利用。ESP8266的打印模板设计的特别好,这里我就列出来,供大家参考。
实例:
下面看代码:
#define ESP_LOGE( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_ERROR, tag, format, ##__VA_ARGS__) #define ESP_LOGW( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_WARN, tag, format, ##__VA_ARGS__) #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) #define ESP_LOGD( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_DEBUG, tag, format, ##__VA_ARGS__) #define ESP_LOGV( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_VERBOSE, tag, format, ##__VA_ARGS__)
其实,像很多物联网芯片一样,ESP8266的打印是通过tag这个来区分不同的模块的。假如你不想打印那么多,该怎么操作呢?
在该文件的开始定义:
static const char *TAG = "example";
后面就可以这样使用了:
SYSTEM_EVENT_STA_START
下面是打印log:
I (340) example: SYSTEM_EVENT_STA_START
这里的I是打印级别,说明是info的级别。340是对应的时间戳,这里是ticks, example对应的就是TAG的内容了。