OpenEdv-开源电子网

 找回密码
 立即注册
查看: 5500|回复: 8

LVGL如何从SD卡导入图片素材?

[复制链接]

28

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
330
金钱
330
注册时间
2013-7-25
在线时间
36 小时
发表于 2020-7-9 09:46:58 | 显示全部楼层 |阅读模式
5金钱
最近有个项目想采用LVGL做GUI,需要显示比较多的图片素材,例如定制的背景图片、图标等,片上flash空间有限,需要从SD卡导入。
最近也在学习正点原子的little vgl学习教程,里面介绍这种情况需要移植文件系统以及png解码库,但是没有详细介绍,请问有没有人做过如何移植little vgl的文件系统?有没有教程或者例程可以参考。

最佳答案

查看完整内容[请看2#楼]

自己移植了一下可以从SD卡中导入bin文件,根据教程将需要显示的图片转化成bin文件(例如tiaotu_qrcode.bin),放在SD卡中。 参考了原子哥的FATFS例程,此代码是基于STM32F407的,显示屏不是开发板上原装的,参考的朋友注意一下LCD和touch的驱动。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

28

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
330
金钱
330
注册时间
2013-7-25
在线时间
36 小时
 楼主| 发表于 2020-7-9 09:46:59 | 显示全部楼层
本帖最后由 二华子 于 2020-7-25 22:24 编辑

自己移植了一下可以从SD卡中导入bin文件,根据教程将需要显示的图片转化成bin文件(例如tiaotu_qrcode.bin),放在SD卡中。
参考了原子哥的FATFS例程,此代码是基于STM32F407的,显示屏不是开发板上原装的,参考的朋友注意一下LCD和touch的驱动。

template.rar

3.93 MB, 下载次数: 219

回复

使用道具 举报

0

主题

286

帖子

0

精华

高级会员

Rank: 4

积分
949
金钱
949
注册时间
2018-4-21
在线时间
264 小时
发表于 2020-7-16 15:36:19 来自手机 | 显示全部楼层
最近我也在学这个UI,也遇到这个问题了,放片上flash不方便后期更新图片图标,目前我的想法是用FATFS读到sdram跳过LVGL文件系统。只能改源码了,慢慢摸索中
回复

使用道具 举报

28

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
330
金钱
330
注册时间
2013-7-25
在线时间
36 小时
 楼主| 发表于 2020-7-21 21:20:54 | 显示全部楼层
LRW 发表于 2020-7-16 15:36
最近我也在学这个UI,也遇到这个问题了,放片上flash不方便后期更新图片图标,目前我的想法是用FATFS读到sd ...

嗯   网上有例程是这么搞的,通过FATFS读到SDRAM,如果不支持SDRAM的  是不是就尴尬了,例如F407
回复

使用道具 举报

37

主题

477

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
2285
金钱
2285
注册时间
2017-8-24
在线时间
375 小时
发表于 2020-7-25 15:00:49 | 显示全部楼层
例程的Malloc还要区别开LVGL的内存区域,不然一些需要malloc的场景就不好搞了
天然懒,天然呆
能吃会睡,未来可期
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-1-30
在线时间
4 小时
发表于 2020-7-28 13:30:08 | 显示全部楼层
原子哥教学视频里的例程是比较老的。新的例程中图片.C文件很大,那个printer的例程无法实现。。。。
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2020-6-10
在线时间
7 小时
发表于 2020-8-16 16:25:24 | 显示全部楼层
请教一下为什么我读取出来调色板调的颜色不太对?我没有使用ture_color使用的是index_16?如果改成ture_color就正常显示,但是占用空间太大了
回复

使用道具 举报

3

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
226
金钱
226
注册时间
2019-7-1
在线时间
74 小时
发表于 2020-9-28 10:40:31 | 显示全部楼层
二华子 发表于 2020-7-9 09:46
自己移植了一下可以从SD卡中导入bin文件,根据教程将需要显示的图片转化成bin文件(例如tiaotu_qrcode.bin ...

感谢分享。。。。
回复

使用道具 举报

4

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
191
金钱
191
注册时间
2019-10-5
在线时间
32 小时
发表于 2021-1-31 09:58:00 | 显示全部楼层
二华子 发表于 2020-7-21 21:20
嗯   网上有例程是这么搞的,通过FATFS读到SDRAM,如果不支持SDRAM的  是不是就尴尬了,例如F407

#define MY_APP_LOG_SW LOG_ON
#define MY_APP_LOG  LOG(MY_APP_LOG_SW)

请问这两个宏定义只是用来printf输出图片的大小的是吗?对于从sd卡显示图片,
只要移植了sd卡驱动和FATFS例程使用下面代码就可以显示图片了对吗,求指教,
    lv_obj_t *scr = lv_disp_get_scr_act(NULL);

lv_obj_t * img1 = lv_img_create(scr,NULL);
lv_img_set_src(img1, "P:/tiaotu_qrcode.bin");
lv_obj_set_pos(img1, 150, 10);     /*Align next to the source image*/
lv_obj_set_drag(img1, true);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 16:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表