欢迎光临散文网 会员登陆 & 注册

TFTLCD 开发记录 -- 5、QSPI Flash存储图片

2023-09-27 21:18 作者:茄子土豆地三鲜  | 我要投稿

    由于要显示多张图片,所以将所有的图片数据保存在QSPI flash, 开发板上带一片32M的QSPI Flash,下面就来操作它,存取数据,打开QPSPI:

        配置QSPI参数

        根据原理图修改GPIO口设置

        之后点击生成代码,回到IDE中,新建QSPI_flash.c和QSPI_flash.h两个文件, 然后,编写QSPI Flash代码也就是W25Q256的驱动,这部分内容比较多,就不展开详细描述,有问题可以对照W25Q256的手册查找解决办法,这里直接将完整代码贴出来:

QSPI_flash.c:

QSPI_flash.h

        最后测试下QSPI FLASH 是否成功驱动,测试方法是读取W25Q256的芯片ID,看看是否正确。主函数中调用W25Q256的初始化,并读取ID,出口打印出来

    测试效果是读到芯片ID为0xef18 ,证明W25Q256测试通过,成功驱动。

    

        以上只是成功驱动了QSPI Flash,还需要将图片数据存入QSPI Flash中,这里使用一个简单的办法将图片数据写入Flash中,可以省掉Flash烧写的过程。

编写图片写入函数:

编写图片读取函数:

    由于芯片内部空间有限,只能一次写入一张图片,故使用按键按钮下存入图片数据,的方式逐一存储图片。按键的配置很简单,对照原理图初始化配置即可。

按键扫描检测程序:


       调用按键扫描程序,按键1按下时,存入图片,这里操作稍微繁琐点,有5张图,需要编译下载五次,每次存入对应的一张图片

        图片寸完之后,将逐一读出图片数据,送到DMA2D显示出来即可,这样就可以实现五张图片循环显示效果,代码如下:

在主函数中调用这个测试接口函数即可

完整的工程代码开源,在https://www.bilibili.com/read/readlist/rl758628?spm_id_from=333.999.0.0视频下方简介可以找到


TFTLCD 开发记录 -- 5、QSPI Flash存储图片的评论 (共 条)

分享到微博请遵守国家法律