我们开发批量生产产品的时候,遇到一个很棘手的问题:
1.我们已经把图片转换成lcd驱动芯片可以直接显示的RGB888或者RGB565的raw data放在了sd卡上,现在我们还没有解决怎么把这个图片的raw data显示到lcd上。程式本身的播放gif,不适合我们现在这个产品,除了占用巨大的内存空间外,gif本身就不是一个效果很好的显示方式,gif的压缩高,芯片解压缩再去显示,效果差,完全不能体现昂贵的LCD的价值。
2.现在spi驱动LCD显示并没有用到DMA方式。效率不高。
3.在实际批量生产的玩具的时候,一般是不会用gif档案来当作玩具眼睛显示在LCD上。
如何驱动SPI LCD显示一张原始数据的RGB565图片
-
- Posts: 7
如何驱动SPI LCD显示一张原始数据的RGB565图片
Re: 如何驱动SPI LCD显示一张原始数据的RGB565图片
可以使用sd卡文件系统,比flash文件系统快一些。具体可以参考我们的UI开发框架,fae也支持过其他的客户使用sd卡。
其他. 具体产品需求客户可以按需设计,目前t5驱屏能力一般,较大资源的图片刷新效果不太好,可以先试试
-
- Posts: 7
Re: 如何驱动SPI LCD显示一张原始数据的RGB565图片
已经用了sd卡读取文件,现在卡在怎么显示这个二进制文件。
Re: 如何驱动SPI LCD显示一张原始数据的RGB565图片
周一安排人给你们看看
-
- Posts: 7
-
- Posts: 7
Re: 如何驱动SPI LCD显示一张原始数据的RGB565图片
兄弟,帮我看了没?
-
- Posts: 62
Re: 如何驱动SPI LCD显示一张原始数据的RGB565图片
你好,"我们已经把图片转换成lcd驱动芯片可以直接显示的RGB888或者RGB565的raw data放在了sd卡":这个是指已经将原始压缩格式的图片文件已经解码成二进制文件存放在sd卡了吗?如果是这样的话,sd卡上需要同时保存每张图片的相关信息(如下2提及),可以按下面步骤操作:
1.程序运行起来后,给每个图片文件分别申请一个内存,将sd中的二进制文件读取到不同内存地址,如data1,
2.针对每个图片去构建一个lv_img_dsc_t img_decxx的数据结构(包括这个结构体所涉及的一些成员信息,如图片的像素宽,高,大小,及数据的起始指针(如data1赋值到这里))(可以参考img_utility.c/_dec_img这个的封装方式),
3.构建完成后创建一个img控件,调用lv_img_set_src(img, &img_decxx)就可以开始渲染。