TFTLCD 開(kāi)發(fā)記錄 -- 5、QSPI Flash存儲(chǔ)圖片
????由于要顯示多張圖片,所以將所有的圖片數(shù)據(jù)保存在QSPI flash, 開(kāi)發(fā)板上帶一片32M的QSPI Flash,下面就來(lái)操作它,存取數(shù)據(jù),打開(kāi)QPSPI:

????????配置QSPI參數(shù)

????????根據(jù)原理圖修改GPIO口設(shè)置


????????之后點(diǎn)擊生成代碼,回到IDE中,新建QSPI_flash.c和QSPI_flash.h兩個(gè)文件,?然后,編寫(xiě)QSPI Flash代碼也就是W25Q256的驅(qū)動(dòng),這部分內(nèi)容比較多,就不展開(kāi)詳細(xì)描述,有問(wèn)題可以對(duì)照W25Q256的手冊(cè)查找解決辦法,這里直接將完整代碼貼出來(lái):
QSPI_flash.c:
QSPI_flash.h
????????最后測(cè)試下QSPI FLASH 是否成功驅(qū)動(dòng),測(cè)試方法是讀取W25Q256的芯片ID,看看是否正確。主函數(shù)中調(diào)用W25Q256的初始化,并讀取ID,出口打印出來(lái)

????測(cè)試效果是讀到芯片ID為0xef18 ,證明W25Q256測(cè)試通過(guò),成功驅(qū)動(dòng)。

????
????????以上只是成功驅(qū)動(dòng)了QSPI Flash,還需要將圖片數(shù)據(jù)存入QSPI Flash中,這里使用一個(gè)簡(jiǎn)單的辦法將圖片數(shù)據(jù)寫(xiě)入Flash中,可以省掉Flash燒寫(xiě)的過(guò)程。
編寫(xiě)圖片寫(xiě)入函數(shù):
編寫(xiě)圖片讀取函數(shù):
????由于芯片內(nèi)部空間有限,只能一次寫(xiě)入一張圖片,故使用按鍵按鈕下存入圖片數(shù)據(jù),的方式逐一存儲(chǔ)圖片。按鍵的配置很簡(jiǎn)單,對(duì)照原理圖初始化配置即可。
按鍵掃描檢測(cè)程序:
? ?????調(diào)用按鍵掃描程序,按鍵1按下時(shí),存入圖片,這里操作稍微繁瑣點(diǎn),有5張圖,需要編譯下載五次,每次存入對(duì)應(yīng)的一張圖片

????????圖片寸完之后,將逐一讀出圖片數(shù)據(jù),送到DMA2D顯示出來(lái)即可,這樣就可以實(shí)現(xiàn)五張圖片循環(huán)顯示效果,代碼如下:
在主函數(shù)中調(diào)用這個(gè)測(cè)試接口函數(shù)即可
完整的工程代碼開(kāi)源,在https://www.bilibili.com/read/readlist/rl758628?spm_id_from=333.999.0.0視頻下方簡(jiǎn)介可以找到