⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_lcd.c

📁 一个简单的针对s3c2410的tft lcd的测试程序。
💻 C
字号:
#include "2410addr.h"
#include "Option.h"
#include "Def.h"

#define LCD_XSIZE_TFT       (240)	
#define LCD_YSIZE_TFT       (320)
#define HOZVAL_TFT          (LCD_XSIZE_TFT-1)
#define LINEVAL_TFT         (LCD_YSIZE_TFT-1)

#define MVAL                (13)
#define MVAL_USED           (0)
#define VBPD                ((9-1)&0xff)
#define VFPD                ((10-1)&0xff)
#define VSPW                ((2-1) &0x3f)
#define HBPD                ((18-1)&0x7f)
#define HFPD                ((16-1)&0xff)
#define HSPW                ((16-1)&0xff)
#define CLKVAL_TFT          (1)

#define DMA_PHYSICAL_BASE		0x30000000  // S3C2410X01
#define FRAMEBUF_DMA_BASE			(DMA_PHYSICAL_BASE + 0x00100000)
#define M5D(n)              ((n) & 0x1fffff)

#define COLOR				0xff


 void LCD_Init(void)
{
	// LCD port initialize.
    rGPCUP  = 0xFFFFFFFF;
    rGPCCON = 0xAAAAAAAA;
	rGPCCON = 0xAAAAAAAA;

    rGPDUP  = 0xFFFFFFFF;
    rGPDCON = 0xAAAAAAAA;
 	rGPGCON &= ~(3 << 8); 		
	/* Set LCD_PWREN as output*/

   
   
   
   	rGPGDAT |=  (1 << 4);                 /* Backlight ON*/

	rLCDCON1=(7<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0;
	// TFT LCD panel,16bpp TFT,ENVID=off
	rLCDCON2=(VBPD<<24)|(LINEVAL_TFT<<14)|(VFPD<<6)|(VSPW);
	rLCDCON3=(HBPD<<19)|(HOZVAL_TFT<<8)|(HFPD);
	rLCDCON4=(MVAL<<8)|(HSPW);
	rLCDCON5=(1<<11)|(1<<9)|(1<<8)|(1<<3)|(1<<0);	//FRM5:6:5,HSYNC and VSYNC are inverted
	rLCDSADDR1=((FRAMEBUF_DMA_BASE>>22)<<21)|M5D(FRAMEBUF_DMA_BASE>>1);
	rLCDSADDR2=M5D( (FRAMEBUF_DMA_BASE+(LCD_XSIZE_TFT*LCD_YSIZE_TFT*2))>>1 );
	rLCDSADDR3=(((LCD_XSIZE_TFT-LCD_XSIZE_TFT)/1)<<11)|(LCD_XSIZE_TFT/1);
	rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
	rLPCSEL&=(~7); // Disable LPC3600
	rTPAL=0; // Disable Temp Palette
	
	rLCDCON1 |= 1;
}


void LCD_Draw(void)
{
	int I;
	long int *pDisp=(long int *)FRAMEBUF_DMA_BASE;
	long int *addr=(long int *)(0x34000000);
	for(I=0;I<(LCD_XSIZE_TFT* LCD_YSIZE_TFT/2);I++)
{
//	*pDisp++=COLOR;
*pDisp++=*addr++;

}
} 


int main(void)
{

	LCD_Init();
	LCD_Draw();
	return 0;
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -