lvgl如何打开LV_LOG_INFO
时间: 2023-08-05 07:09:08 浏览: 196
在 LVGL V7.0.0 版本及以上,可以通过 `lv_log_register_print_cb()` 函数来注册自定义的日志输出函数,从而打开 `LV_LOG_INFO` 级别的日志输出。
以下是一个简单的示例代码,在该代码中,我们定义了一个 `my_log_print` 函数,用于输出日志信息,并通过 `lv_log_register_print_cb()` 函数将其注册为日志输出函数:
```c
void my_log_print(lv_log_level_t level, const char *file, uint32_t line, const char *func, const char *dsc)
{
const char *level_str;
switch (level) {
case LV_LOG_LEVEL_TRACE:
level_str = "TRACE";
break;
case LV_LOG_LEVEL_INFO:
level_str = "INFO";
break;
case LV_LOG_LEVEL_WARN:
level_str = "WARN";
break;
case LV_LOG_LEVEL_ERROR:
level_str = "ERROR";
break;
default:
level_str = "UNKNOWN";
break;
}
printf("[%s] %s:%d %s(): %s\n", level_str, file, line, func, dsc);
}
int main(void)
{
/* 初始化 LVGL */
lv_init();
/* 注册日志输出函数 */
lv_log_register_print_cb(my_log_print);
/* 打开 INFO 级别的日志输出 */
lv_log_level_set(LV_LOG_LEVEL_INFO);
/* ... */
return 0;
}
```
在上面的示例代码中,我们首先定义了一个名为 `my_log_print` 的函数,该函数接收日志级别、文件名、行号、函数名和日志描述信息等参数,并将其输出到标准输出设备中。然后,我们在 `main` 函数中调用了 `lv_log_register_print_cb()` 函数将 `my_log_print` 函数注册为日志输出函数,并通过 `lv_log_level_set()` 函数打开了 `LV_LOG_INFO` 级别的日志输出。
在运行这个示例代码后,您将看到类似于以下的日志输出信息:
```
[INFO] main.c:13 main(): LittlevGL v7.11.0-dev
[INFO] main.c:17 main(): LVGL tickless mode is disabled
```
注意:在实际开发中,建议仅在需要排查问题时才打开 `LV_LOG_INFO` 级别的日志输出,因为这种日志输出可能会对性能和资源占用产生一定的影响。
阅读全文