日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式云IOT技術圈
[導讀]點擊上方「嵌入式云IOT技術圈」,選擇「置頂公眾號」第一時間查看嵌入式筆記!來源|CSDN博客-黃逸芬版權聲明:本文為博主原創(chuàng)文章,遵循CC4.0BY-SA版權協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。本文鏈接:https://blog.csdn.net/weixin_4288141...

點擊上方「嵌入式云IOT技術圈」,選擇「置頂公眾號」第一時間查看嵌入式筆記!

來源 | CSDN博客-黃逸芬

版權聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/weixin_42881419/article/details/104189012

001LCD硬件原理

LCD操作原理

  • LCD屏幕上的點稱為像素
  • 屏幕后面有電子槍【紅綠藍】:一邊移動,一邊發(fā)出顏色
  • 每來一個clk,移動一個像素
  • R、G、B三組線確定顏色
  • 接收到HSYNC(水平同步信號)脈沖,電子槍從最右邊跳到最左邊。(跳到下一行)
  • 接收到VSYNC[垂直同步信號]從最下邊跳到最上邊。(跳到原點)

LCD時序圖

LCD硬件原理圖

006 LCD設置

打開LCD4.3芯片手冊,根據(jù)芯片手冊設置

2440_LCD時序圖


LCD display config

可以通過調(diào)整四邊黑框調(diào)整屏幕邊框

BPP(bit per pixel)

BPP:在FrameBuffer中每個像素占據(jù)多少位,

  • 硬件上LCD的BPP是確定的
    但是可以對LCD進行封裝

  • 16條線,每個像素占16位數(shù)據(jù),16BPP

002 S3C2440_LCD控制器

功能:

1.從內(nèi)存中(FrameBuffer)取出某個像素的數(shù)據(jù):把FrameBuffer的地址告訴LCD控制器,BPP,分辨率

2.配合其他信號把數(shù)據(jù)發(fā)送給LCD:把時序告訴LCD控制器,設置引腳的極性

BLOCK DIAGRAM

16BPP
調(diào)色板[ palette]

本質(zhì):內(nèi)存

  • 16BPP中,本來用16bit表示1像素,也可用利用調(diào)色板,用8位表示;8BPP:偽彩色;16/24BPP:真彩色。
那么當使用像素深度為8pp時候,像素深度和我們的帶寬不一致,我們的顏色要用16位表示,如果直接用上肯定不可能,那我們就可以選擇用調(diào)色板,調(diào)色板中存放了256種16bpp的顏色,這時候我們color存放的就不是真實的顏色值了,而是存放的是調(diào)色板中256種顏色的索引,成線性關系一一對應,這樣我們大大減輕了系統(tǒng)的負擔。用16bpp還是8bpp這得取決實際情況,16bpp肯定比8pp清晰,但同時帶來的負荷也更加重。

  • 過程:FrameBuffer中8bit —> LCD控制器 —> 調(diào)色板中取16bit【用8bit作為索引,取出真正的顏色】 —> LCD

003LCD編程_框架與準備

定義結構體
  • 定義引腳極性結構體
typedef?struct?pins_polarity{
?int?vclk;?/*?normal:在下降沿獲取?*/
?int rgb;?/* normal:高電平表示1 */
?int hsync;??/* normal:高脈沖?*/
?int vsync;??/* normal:高脈沖?*/

}pins_polarity,*p_pins_polarity;
  • 定義時序結構體
typedef?struct?time_sequence{
?/*?垂直方向?*/
?int?tvp;/*?vysnc脈沖寬度?*/
?int?tvb;/*?上邊黑框,Vertical?Back?porch?*/
?int?tvf;/*?下邊黑框,Vertical?Front?porch?*/

?/*?水平方向?*/
?int?thp;/*?hysnc脈沖寬度?*/
?int?thb;/*?左邊黑框,Horizontal?Back?porch?*/
?int?thf;/*?右邊黑框,Horizontal?Front?porch?*/
}time_sequence,*p_time_sequence;
  • 定義lcd參數(shù)結構體
typedef?struct?lcd_params{
?/*?引腳極性?*/
?pins_polarity?pins_pol;
?
?/*?時序?*/
?pins_sequence?time_seq;
?
?/*?分辨率,bpp?*/
?int?xres;
?int?yres;
?int?bpp;
?
?/*?framebuffer的地址?*/
?unsigned?int?fb_base;

}lcd_params,*p_lcd_params;

004LCD_編程_抽象出重要結構體

結構體傳參

005LCD_LCD控制器

S3C2440_controller.c:根據(jù)S3C2440數(shù)據(jù)手冊,設置LCD控制器相關寄存器

引腳初始化
void?jz2440_lcd_pin_init(void)
{
?/*?初始化引腳?:?背光引腳*/
?GPBCON?
本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉