歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> S3C6410裸機驅動5TFT LCD

S3C6410裸機驅動5TFT LCD

日期:2017/3/1 9:59:22   编辑:Linux編程
由於OK6410自帶的LCD分辨率太低,自己在淘寶上淘了一個5'的TFT LCD,分辨率為800*480

今天上午終於驅動起來了,遺憾的是OK6410的轉接板竟然將部分RGB數據線接在一起,導致只能支持16BIT的顏色.


下面是我的液晶屏的時序資料



//代碼
//TFT_LCD.C
/*************************************************************************************************************
* 文件名:TFT_LCD.c
* 功能:S3C6410 TFT_LCD底層驅動函數
* 作者:陳鵬
* 創建時間:2012年3月11日15:46
* 最後修改時間:2012年5月6日
* 詳細:TFT_LCD初始化以及相關繪圖函數
*************************************************************************************************************/
#include"s3c6410_system.h"
#include"tft_lcd.h"
#include"s3c6410_map.h"
#include "ASCII.H"


//顯存分辨率
#define LCD_XSIZE800//水平分辨率
#define LCD_YSIZE 480//垂直分辨率


//定義顯存
volatile static u16 LCD_BUFFER[LCD_YSIZE][LCD_XSIZE];
const u8 FONT_H[6] = {16,16,13,16,13,16};//對應的字體寬和高


//液晶相關參數 5'TFT 800*480
//時序控制
//括號裡面的為LCD時序要求的值,但是實際需要調整
//只要調整LCD_VSPW和LCD_HSPW就可以了
#define LCD_VBPD29//VSBP-VSPW(32-3) 在幀開始處,垂直後沿是不活動行的數量,在垂直同步過程之後
#define LCD_VFPD13//VSFP(13)在幀末尾處,垂直前沿是不活動行的數量,在垂直同步過程之前。
#define LCD_VSPW4//VSPW(3)通過計算不活動行的數量,垂直同步脈沖寬度決定VSYNC 脈沖的高點品寬度。
#define LCD_HBPD40//HSBP-HSPW(88-48)水平後沿是HSYNC 下降沿和有效數據開始之間的VCLK 周期的數量。
#define LCD_HFPD40//HSFP(40)水平前沿是有效數據末端和HSYNC 上升沿之間的VCLK 周期的數量。
#define LCD_HSPW174//HSPW(48)通過計算不VCLK 的數量,水平同步脈沖寬度決定HSYNC 脈沖的高點品寬度
#define LCD_LINEVAL 480//垂直分辨率
#define LCD_HOZVAL800//水平分辨率
#defineLCD_BUF_SIZE(LCD_XSIZE*(LCD_YSIZE+1))//緩沖區大小,留有空閒,防止溢出
Copyright © Linux教程網 All Rights Reserved