完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
自己在psarm换了一块16m的flash,由于不会调用,只能下4m的程序,又不行加sd卡,16勉强够用。
现在的做法是,在分区表开一个区个spiffs或者LITTLEFS做文件系统保存图片,让lvgl8.3直接解码显示。现在的进度是系统搞好了,图片也上传好了,就是白屏,感觉是路径的问题,试过顺便打一个名称,lvgl日志都没有报错。搞了一周时间都没有查到什么原因,吐了,只能能问一下各位大佬了。 下面是代码分析 首先确定LITTLEFS是可以用的 fs:: File file = LITTLEFS.open("/aaa.txt", "r"); if(!file){ Serial.println("Failed to open file for reading"); return; } -------------------------------------------------------- const char *filepath = "/I.png"; if (file_exists(filepath)) { log_d("文件 '%s' 存在252。n", filepath); } else { log_d("文件 '%s' 不存在或无法访问456。n", filepath); } 上传代码,读取txt和文件路径都是有的,感觉LITTLEFS应该是挂载上了 然后是lv_conf.h的配置 #define LV_USE_FS_POSIX 0 #if LV_USE_FS_POSIX #define LV_FS_POSIX_LETTER 'S' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ #define LV_FS_POSIX_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/ #define LV_FS_POSIX_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ #endif ------------------------------ #define LV_USE_FS_FATFS 1 #if LV_USE_FS_FATFS #define LV_FS_FATFS_LETTER 'A' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ #define LV_FS_FATFS_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ #endif --------------------------- #define LV_USE_PNG 1 这两个我都单独试过了,都不行 到图片显示这边 lv_obj_t *img_bg = lv_img_create(lv_scr_act()); lv_img_set_src(img_bg, "A:2:I0.png"); lv_obj_center(img_bg); ----------------------------------------------------------------- ui->screen_4_img_2 = lv_img_create(ui->screen_4); lv_obj_add_flag(ui->screen_4_img_2, LV_OBJ_FLAG_CLICKABLE); lv_img_set_src(ui->screen_4_img_2, "A:2:I.png"); lv_img_set_pivot(ui->screen_4_img_2, 50,50); lv_img_set_angle(ui->screen_4_img_2, 0); lv_obj_set_pos(ui->screen_4_img_2, 0, 0); lv_obj_set_size(ui->screen_4_img_2, 240, 240); lv_obj_set_style_img_opa(ui->screen_4_img_2, 120, LV_PART_MAIN|LV_STATE_DEFAULT); lv_img_set_src(img_bg, "A:1:I.png"); lv_img_set_src(img_bg, "A:I.png"); lv_img_set_src(img_bg, "A:/I.png"); 等都试过了,就是白屏,离谱 有没有大佬帮帮忙看看,吐了他也不报错没有日志 或者16m的现在只能用4m,有没有改变映射地址的例程 |
|
相关推荐
1个回答
|
|
首先,我们需要确保LVGL可以正确地读取和显示PNG图片。以下是一些建议和步骤,帮助您解决显示PNG图片为空白的问题:
1. 确保PNG图片格式正确:请检查您的PNG图片是否损坏或格式不正确。您可以尝试使用其他PNG图片,看看问题是否仍然存在。 2. 检查文件路径:确保您的文件路径正确无误。在您的代码中,您已经尝试了不同的路径,但仍然无法解决问题。请再次检查文件路径是否正确。 3. 确保LVGL支持PNG解码:请确保您的LVGL库支持PNG解码。您可以查看LVGL的文档,了解如何启用PNG解码功能。 4. 检查LVGL的PNG解码器:确保您的PNG解码器正确地集成到LVGL中。您可以查看LVGL的示例代码,了解如何正确地使用PNG解码器。 5. 检查LVGL的显示设置:请确保您的LVGL显示设置正确。例如,确保您的显示缓冲区大小足够大,以容纳PNG图片。 6. 使用LVGL的日志系统:您可以启用LVGL的日志系统,以便在出现问题时获得更多信息。这可以帮助您确定问题所在。 7. 检查LVGL的API使用:请确保您正确地使用了LVGL的API来加载和显示PNG图片。以下是一些可能有用的API: - `lv_img_decoder_create()`:创建一个图像解码器。 - `lv_img_decoder_set_info_cb()`:设置图像信息回调函数。 - `lv_img_decoder_open()`:打开图像文件。 - `lv_img_decoder_read_line()`:读取图像的一行像素数据。 - `lv_img_decoder_close()`:关闭图像文件。 8. 检查您的硬件:确保您的硬件(如显示屏和存储器)正常工作,并且与LVGL兼容。 |
|
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 00:00 , Processed in 1.042042 second(s), Total 82, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号