加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

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

05/16 09:46
2120
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
電路板圖(3)
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

這幾天研究了一下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卡例子跑成功后,后面準(zhǔn)備添加LCD驅(qū)動。lcd使用的是并口8位數(shù)據(jù)接口屏,直接插在arduino接口上的。主要添加LCD屏的io初始化部分。在pin_mux.c中的void BOARD_InitPins(void)里面添加lcd的使用IO的初始化。LCD用的IO比較多,幸好tf卡用的IO和LCD用的IO沒有重復(fù),要不然就麻煩些了。LCD的驅(qū)動是寫好的,直接拿過來用上就行。

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

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

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

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

中間也出現(xiàn)了一些問題,不過幸好都解決了。主要開始設(shè)置的堆??臻g不夠,導(dǎo)致程序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圖片文件的顯示。后面準(zhǔn)備BMP圖片文件解碼的,bmp解碼還未完善。

原圖:

顯示效果圖:

最后是整個工程代碼:

lpc55s69_sd_fatfs_lcd.rar (5.6 MB)

  • lpc55s69_sd_fatfs_lcd.rar

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
TLE6250GV33XUMA1 1 Infineon Technologies AG Interface Circuit, BICMOS, PDSO8, GREEN, PLASTIC, SOP-8

ECAD模型

下載ECAD模型
$1.22 查看
FOD817ASD 1 onsemi 4-Pin DIP Phototransistor Optocouplers, 1000-REEL

ECAD模型

下載ECAD模型
$0.52 查看
LTC6994CS6-1#TRMPBF 1 Linear Technology LTC6994 - TimerBlox: Delay Block/ Debouncer; Package: SOT; Pins: 6; Temperature Range: 0°C to 70°C
$3.04 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜