請教在 2.4 寸 TFT 上顯示內部 FLASH 圖片的方法 |
答題得分者是:walltsou
|
PSIR
初階會員 ![]() ![]() 發表:106 回覆:51 積分:31 註冊:2008-01-03 發送簡訊給我 |
![]() TFT-LCD 規格:2.4吋 驅動IC:ILI9341 硬體接線:TFT 模組的 D15~D0 接到一個 16bit 的 I/O PORT 的 D15~D0 各位好: ILI9341 的初始化以及畫點畫線等相關函數都已經完成了,現在想在屏幕上顯示如上圖的一張圖片, 大小是 85 × 113,16 位彩色,其餘選項如圖面上的設定。 轉出來的點陣數據為:85 × 113 × 2(16BPP) = 19120 8個Byte的影像頭數據 = 19218 個元素如下所示: const unsigned char gImage_flower16bit_H[19218] = { 0X00,0X10,0X55,0X00,0X71,0X00,0X01,0X1B, //8個Byte的影像頭數據 .............................. }; 我的問題是,當有包含 8 個Byte的影像頭數據時,這段循環查表的程式要怎麼寫? 假設我已經對 ILI9341 設置好一個 85 × 113 的顯示範圍, 我該怎麼順序抓取資料才能讓點陣數據在屏幕上正確顯示? 因為我的資料輸出是 16 位元,而點陣數據是 8 位元一組, 這意味著我必須抓兩次 8 位元合成一個 16 位元來顯示一個點的顏色值, 能否給我指導我一下具體的程式寫法,謝謝。 |
ScottWang
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:32 回覆:486 積分:688 註冊:2009-04-27 發送簡訊給我 |
------
高壓直流電源供應器,高壓模組,測試LED專用AC LED定電流源,全範圍可調電壓電流, 中低壓直流電源供應器,電壓放大器,電流放大器,帶通濾波器,高精度參考電壓, 標準電壓,恆流源(定電流源),恆壓源(定電壓源),大電流電源供應器. 接受訂製,設計生產各種特殊規格,高精度產品,學校實驗室,研究單位實驗設備, 另可接受其它電子專案設計,HV Power,Vmax=20KV,Imax=2000A. http://hvpower.myweb.hinet.net/ |
walltsou
一般會員 ![]() ![]() 發表:3 回覆:45 積分:24 註冊:2012-09-29 發送簡訊給我 |
程式中的文件有寫:
typedef struct _HEADCOLOR { unsigned char scan; unsigned char gray; unsigned short w; unsigned short h; unsigned char is565; unsigned char rgb; }HEADCOLOR; scan、gray、w、h與HEADGRAY結構中的同名成員變數含義相同。 is565: 在4096色模式下為0表示使用[16bits(WORD)]格式,此時影像數據中每個WORD表示一個象素;為1表示使用[12bits(連續位元組流)]格式,此時連續排列的每12Bits代表一個象素。 在16位彩色模式下為0表示R G B顏色分量所占用的位數都為5Bits,為1表示R G B顏色分量所占用的位數分別為5Bits,6Bits,5Bits。在24位彩色和32位彩色模式下is565無效。 rgb: 描述R G B顏色分量的排列順序,rgb中每2Bits表示一種顏色分量,[00]表示空白,[01]表示Red,[10]表示Green,[11]表示Blue。 ======================= 你的結果是 scan =0; gray =16; w=85 h=113 is565 = yes rgb 順序從LSB過來為BGR
------
目前以STM32為主力 部落格 http://wallace7914032.blogspot.tw/ |
PSIR
初階會員 ![]() ![]() 發表:106 回覆:51 積分:31 註冊:2008-01-03 發送簡訊給我 |
unsigned short send_H;
unsigned short send_L; unsigned long size; unsigned long temp=19120; //85 × 113 × 2(16BPP) for(size=0;size send_L=gImage_flower16bit_H[ size]; LCD_WR_DATA( send_H | send_L ); } ---------------------------------------------------- 我將8個Byte的影像頭數據去掉並寫了一小段程式測試, 這樣寫就行了,不過 Image2lcd 的設定要改成「高位在前」, 我也不知道什麼原因,歡迎大神指導。 |
PSIR
初階會員 ![]() ![]() 發表:106 回覆:51 積分:31 註冊:2008-01-03 發送簡訊給我 |
const unsigned char gImage_flower16bit_H[19218] = {
0X00,0X10,0X55,0X00,0X71,0X00,0X01,0X1B, //8個Byte的影像頭數據 .............................. }; ---------------------------------------------------------------------------------------------------------- ypedef struct _HEADCOLOR { unsigned char scan; unsigned char gray; unsigned short w; unsigned short h; unsigned char is565; unsigned char rgb; }HEADCOLOR; ---------------------------------------------------------------------------------------------------------- 有關上面的影像頭數據和下面的結構體的關係,有些疑問不太明白。 8個Byte的影像頭數據依序為:0X00,0X10,0X55,0X00,0X71,0X00,0X01,0X1B 0X1B 為 成員 rgb 的值,請問代表什麼意思? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |