• 方案介紹
  • 附件下載
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

LPC55S69+tf卡+lcd實現(xiàn)lcd顯示jpg圖片的工程源代碼

2024/05/16
2433
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

lpc55s69_sd_fatfs_lcd.rar

共1個文件

這幾天研究了一下LPC55S69開發(fā)板的tf讀寫,以及圖片文件的讀出顯示在lcd功能。tf卡工程直接從官方SDK的示例代碼里面挖出來的,使用的keil工程。重新排版了文件,編譯測試過程過程很順利。由于使用keil的pack包里面的CMSIS功能,所以項目內(nèi)SDK的cmsis文件就不需要添加了。如果不去掉SDK內(nèi)關(guān)于CMSIS的文件,編譯會出現(xiàn)重定義錯誤。

初始SDK內(nèi)測試tf卡例子跑成功后,后面準備添加LCD驅(qū)動。lcd使用的是并口8位數(shù)據(jù)接口屏,直接插在arduino接口上的。主要添加LCD屏的io初始化部分。在pin_mux.c中的void BOARD_InitPins(void)里面添加lcd的使用IO的初始化。LCD用的IO比較多,幸好tf卡用的IO和LCD用的IO沒有重復,要不然就麻煩些了。LCD的驅(qū)動是寫好的,直接拿過來用上就行。

添加LCD驅(qū)動后,然后再測試LCD屏是否正常。屏幕正常后,下一步準備添加jpg的解碼庫。這個jpg解碼庫使用的是tjpgd解碼庫。這個解碼庫是從RT-Thread的軟件包里面找來的。

TJpgDec(Tiny JPEG Decompressor)是針對嵌入式系統(tǒng)高度優(yōu)化的輕量級通用 JPEG 圖像解碼器,具有易于使用、資源占用小、方便移植等優(yōu)點,廣泛應用在各種資源受限的微處理器上,本軟件包是 TJpgDec 的 RTT 移植版本。

解碼庫地址:https://github.com/RT-Thread-packages/TJpgDec

本次用的jpg解碼庫也相應做了些修改來適配。主要在tjpgd_port.c中。因為使用了malloc和free內(nèi)存操作,所以需要設(shè)置堆和棧內(nèi)存空間的。

中間也出現(xiàn)了一些問題,不過幸好都解決了。主要開始設(shè)置的堆??臻g不夠,導致程序HardFaults了。開始不知道是出現(xiàn)啥問題了,老是顯示圖片突然死機了。單步調(diào)試后,后面才發(fā)現(xiàn)是進入HardFault了。

HardFaults一般主要是內(nèi)存越界,堆棧溢出,內(nèi)存非對齊訪問問題。所以重點檢查了堆棧設(shè)置。

開始就是沒注意有2個地方設(shè)置了??臻g,加大了??臻g后就正常了,堆空間和??臻g都加大了,防止空間不夠。TJpgDec解碼最少需要3K多的堆空間用于內(nèi)部內(nèi)存分配。

最終實現(xiàn)了jpg圖片文件的顯示。后面準備BMP圖片文件解碼的,bmp解碼還未完善。

原圖:

顯示效果圖:

最后是整個工程代碼:

lpc55s69_sd_fatfs_lcd.rar (5.6 MB)

  • lpc55s69_sd_fatfs_lcd.rar
    下載

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
OPF372A 1 TT Electronics OPTEK Technology LED Emitter, 830nm Min, 870nm Max, ST Connector, Panel Mount
$17.34 查看
S25FL512SAGBHIC10 1 Cypress Semiconductor Flash, 128MX4, PBGA24, FBGA-24

ECAD模型

下載ECAD模型
$10.09 查看
R38-32.768-12.5 1 Raltron Electronics Corporation Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, HALOGEN FREE, ROHS AND REACH COMPLIANT PACKAGE-2
$0.06 查看

相關(guān)推薦