当前位置: 首页 > news >正文

lvgl避坑记录

一、log调试

#if LV_USE_LOG && LV_LOG_LEVEL >= LV_LOG_LEVEL_INFO
    switch(src_type) {
        case LV_IMG_SRC_FILE:
            LV_LOG_TRACE("lv_img_set_src: `LV_IMG_SRC_FILE` type found");
            break;
        case LV_IMG_SRC_VARIABLE:
            LV_LOG_TRACE("lv_img_set_src: `LV_IMG_SRC_VARIABLE` type found");
            break;
        case LV_IMG_SRC_SYMBOL:
            LV_LOG_TRACE("lv_img_set_src: `LV_IMG_SRC_SYMBOL` type found");
            break;
        default:
            LV_LOG_WARN("lv_img_set_src: unknown type");
    }
#endif

以上不会有log输出,分析如下:

//lv_log.h
#ifndef LV_LOG_TRACE
#  if LV_LOG_LEVEL <= LV_LOG_LEVEL_TRACE
#    define LV_LOG_TRACE(...) _lv_log_add(LV_LOG_LEVEL_TRACE, __FILE__, __LINE__, __func__, __VA_ARGS__)
#  else
#    define LV_LOG_TRACE(...) do {}while(0)
#  endif
#endif

#define LV_LOG_LEVEL_TRACE 0 /**< A lot of logs to give detailed information*/
#define LV_LOG_LEVEL_INFO  1 /**< Log important events*/

一旦 LV_LOG_LEVEL >= LV_LOG_LEVEL_INFO ——1,必定不会 <= LV_LOG_LEVEL_TRACE ——0。

只能将 && 后面的删掉,修改如下:

#if LV_USE_LOG //&& LV_LOG_LEVEL >= LV_LOG_LEVEL_INFO

二、无法显示图片,显示“No data”

代码如下:

lv_obj_t *bg = lv_img_create(sr1);
lv_obj_set_size(bg, 1920, 720);
//同时设置部件的起点坐标
lv_obj_set_pos(bg, 0, 0);
lv_img_set_src(bg, "S:/bgbmp.bmp");

 首先要打开以下宏:

然后设置日志等级为 LV_LOG_LEVEL_INFO

#define LV_LOG_LEVEL LV_LOG_LEVEL_INFO

发现日志输出有个警告:

看到源码,一分析就找到原因了:

修改后:

if(LV_COLOR_DEPTH == 32 && (b.bpp != 32 && b.bpp != 24))

三、PNG图片显示不了

 出现如下报错:

解决办法:直接增大内存便可。

查看 lv_conf.h 文件:

由于我跑在linux系统上,所以使用系统接口 malloc free 等接口便行。修改如下:

#define LV_MEM_CUSTOM 1

觉得有帮助的话,打赏一下呗。。

           

需要商务合作(定制程序)的欢迎私信!! 

http://www.dtcms.com/a/109176.html

相关文章:

  • lodash库介绍(一个现代JavaScript实用工具库,提供模块化、性能优化和额外功能)JavaScript库(防抖、节流、函数柯里化)JS库
  • 每日一题洛谷P8664 [蓝桥杯 2018 省 A] 付账问题c++
  • 【C++】nlohmann::json 配置加载技术实践:从基础到高级应用
  • OpenLayers:如何控制Overlay的层级?
  • 如何为Linux/Android Kernel 5.4和5.15添加 fuse passthrough透传功能 ?
  • 如何通过管理系统提升团队协作效率
  • 大模型学习二:DeepSeek R1+蒸馏模型组本地部署与调用
  • css动态设置div宽高,calc函数
  • Unity中的动态合批使用整理
  • Vue中虚拟DOM创建到挂载的过程
  • Milvus 向量数据库详解:从核心概念到 Docker 部署实践
  • redis 安装
  • windows批处理命令,执行一个python文件,将命令保存为xxxx.bat文件
  • angular+form实现2048小游戏
  • 41. 评论日记
  • 2025高频面试算法总结篇【二叉树】
  • GLTF(GL Transmission Format)详细介绍
  • 多线程基础
  • 多线程交替打印ABC方法整理
  • 前端入门之CSS
  • rknn_convert的使用方法
  • WebRTC源码解析:Android如何渲染画面
  • Redis是什么?架构是怎么样的?
  • MySQL客户端工具-图形化工具-DataGrip 安装与使用
  • 《AI大模型应知应会100篇》加餐篇:LlamaIndex 与 LangChain 的无缝集成
  • 3.9/Q2,Charls最新文章解读
  • 合并两个有序数组(Java实现)
  • Vue2 过滤器 Filters
  • Blender运行python脚本?
  • 42.评论日记