TQ2440 RGB顏色配色實驗筆記

2021-06-04 18:56:45 字數 1446 閱讀 3160

由於顏色資料數值是十六位資料,參照24位元模式,每畫素

24位編碼的

rgb值:使用三個無符號八位整數(0到

255)表示紅色,綠色和藍色的強度。這是當前主流的標準表示方法,用於真彩色和

jpeg

或者tiff

等影象格式檔案的通用顏色交換。這種模式的十六種基本顏色為下:

由於16

位元模式分配給每種原色各為

5位元,但是由於人眼對於綠色分辨的色調更為精確,故綠色為

6位元,所以這裡使用的

rgb為5:

6:5模式。下面的簡單計算讓我們更明白顏色的由來:

red:(0x1f<<11)|(0x00<<5)|(0x00), 即對應二進位制數:11111 000000 00000

green:(0x00<<11)|(0x3f<<5)|(0x00),即對應二進位制數:00000 111111 00000

blue:(0x00<<11)|(0x00<<5)|(0x1f),   即對應二進位制數:00000 000000 11111

white:(0x1f<<11)|(0x3f<<5)|(0x1f),    即對應二進位制數:11111 111111 11111

black:(0x00<<11)|(0x00<<5)|(0x00),即對應二進位制數,00000 000000 00000

以綠色為例:0x3f<<5= 0000 0000 0011 1111=0000 0111 1110 0000

0x00<<11=0000 0000 0000 0000<<11=0x00

0x00=0000 0000 0000 0000

三者相與為0000 0111 1110 0000,

則按照5:6

:5的配色方案為

00000 111111 00000

同理,紅色,藍色,白色和黑色都是這樣計算出來的。

那下面的**也就不難理解了。

前面兩個由於在16

位元模式下紅色和綠色的十進位制值在(0,

31)之間,所以只要在此之間進行運算即可:

(ii<<11)

和((ii-31

)<<5),

如在ii在(0

,31)的開區間內,計算為在

00000 000000 00000到

11111 000000 00000

之間,即為紅色,且紅色隨迴圈逐漸加深。同理,

ii在(32,

94)的開區間之間取值時,計算為

00000 000001 00000

到00000 111111 00000

之間;後面的顏色配色也是這樣計算而來的,就不一一例舉了。

關於16

位元模式和

24位元模式,由於

2^16=65536, 2^24=16777216,

這就是我們經常聽說的

6.5萬色和

1600

萬色了。

TQ2440背光控制

控制lcd背光就是控制s3c2440的lcd控制的lcd pwren腳lcdcon5暫存器pwren位控制lcd是否輸出。對linux 2.6.30.4核心進行移植。新建乙個backlight.c檔案放到 drivers video 目錄下。內容如下 include include include ...

《TQ2440載入Hello world驅動模組》

經過將近乙個月都時間終於按照手冊把linux核心移植完了,接下來要開始驅動模組的移植了,在網上查了一些資料,總結如下 目標平台 tq2440 arm9 核心版本 linux 2.6.25 前提 宿主機上已安裝交叉編譯工具,因為這個在linux核心移植的時候就使用過了,這裡就不說了。進入正題 1 首先...

TQ2440移植strace工具

一 以下是網上的乙個方法,但是不適合tq2440 主要是主機靜態連線的庫我沒有,呵呵 strace工具是乙個非常強大的工具,是除錯程式的好工具。要移植到arm平台,就需要使用交叉編譯工具編譯生成靜態鏈結的可執行檔案。具體步驟如下 2.解壓。3.配置。configure host arm none l...