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

📄 lcd.c

📁 s3c24a0固件测试代码 ? ? ? ? ?啊 
💻 C
📖 第 1 页 / 共 3 页
字号:
/*****************************************
  NAME: lcd.c
  DESC: lcd test codes
  HISTORY:  2002.03.13:draft ver 0.0
 *****************************************/
#include <string.h>
#include "24a0addr.h"
#include "24a0lib.h"
#include "lcdlib.h"
#include "glib.h"
#include "lcd.h"
#include "..\bmp\DEMO256.h"
#include "..\bmp\sghx600qvga16.h"
#include "..\bmp\sghx600iqvga16.h"
//#include "..\bmp\sghx600iqvga18.h"
#include "..\bmp\sghx600qvga18.h"
#include "..\bmp\sghx600iqqvga16.h"
#include "..\bmp\sghx600iqqvga18.h"
//#include "..\bmp\yujin.h"
//#include "..\bmp\olymphic16b.h"
//#include "..\bmp\sghx60024b.h"
//#include "..\bmp\pqvga16bsm5.h"

#define BGRTEST (FALSE)
#define LTS222

void __irq Lcd_Int(void);
void __irq Lcd_Int_Fr(void);


void Test_Lcd_8Bit_240320_On(void);
void Test_Lcd_16Bit_240320_On(void);
void Test_Lcd_PAR_8Bit_240320(void);
void Test_Lcd_PAR_8BitNoPalette_240320(void);
void Test_Lcd_PAR_16Bit565_240320(void);
void Test_Lcd_PAR_16Bit5551_240320(void);
void Test_Lcd_PAR_18Bit_240320(void);
void Test_Lcd_BGColorMap_240320(void);
void Test_Lcd_FGColorMap_240320(void);
void Test_Osd_240320_Blending(void);
void Test_Osd_16Bit565_240320_Colorkey(void);
void Test_Osd_16Bit565_240320_Compkey(void);
void Test_Osd_16Bit565_240320_Compkey_Direction(void);
void Test_Lcd_16Bit_240320_Int(void);



volatile U32 framecnt;
volatile U32 fifocnt;
volatile U32 framedone;


void * lcd_function[][2]=
{
	(void *)Test_Lcd_8Bit_240320_On,						"[240x320] Parallel 8bpp Free Run    ",
	(void *)Test_Lcd_16Bit_240320_On,					"[240x320] Parallel 16bpp Free Run   ",
	(void *)Test_Lcd_PAR_8Bit_240320,					"[240x320] Parallel 8bpp             ",
	(void *)Test_Lcd_PAR_8BitNoPalette_240320,			"[240x320] Parallel Non-palettiezed 8bpp  ",
	(void *)Test_Lcd_PAR_16Bit565_240320,				"[240x320] Parallel 16bpp 565        ",
	(void *)Test_Lcd_PAR_16Bit5551_240320,				"[240x320] Parallel 16bpp 5551       ",
	(void *)Test_Lcd_PAR_18Bit_240320,					"[240x320] Parallel 18bpp            ",
	(void *)Test_Lcd_BGColorMap_240320,					"BG Color Map 240x320                ",
	(void *)Test_Lcd_FGColorMap_240320, 				"FG Color Map 240x320                ",
	(void *)Test_Osd_240320_Blending,					"Osd Blending 240x320 all            ",
	(void *)Test_Osd_16Bit565_240320_Colorkey,			"Color Key test 240x320              ",
	(void *)Test_Osd_16Bit565_240320_Compkey,			"Compare Key Test 240x320            ",
	(void *)Test_Osd_16Bit565_240320_Compkey_Direction, "Compare Key Test with direction 240x320   ",
	(void *)Test_Lcd_16Bit_240320_Int,					"Frame Interrupt Test   ",
	0,0
};

void LcdDisplayFunction(void)
{
	int i;
	
	i=0;	
	Uart_Printf("\n\n");
	while(1)	{   //display menu
	    Uart_Printf("%2d:%s",i,lcd_function[i][1]);
	    i++;
	    if((int)(lcd_function[i][0])==0) {
			Uart_Printf("\n");
			break;
	    }
	    if((i%2)==0) Uart_Printf("\n");
	}
}

void Ch28_LCD(void)
{
	int i;

	Uart_Printf("\n----Test of LCD Controller----\n");

	//LCD Initializtion

	rPRIORITY1=0x2;

	Uart_Printf("If you want to test Post Processor, then you must download image to memory before testing\n");
	
	while(1) {
		LcdDisplayFunction();
		Uart_Printf("\nSelect(-1 to exit): ");
		i = Uart_GetIntNum();
		//Uart_Printf("IN:%d.\n\n", i);
		if(i==-1) break;
		
		if(i>=0 && (i<(sizeof(lcd_function)/8)) ) 
	    	( (void (*)(void)) (lcd_function[i][0]) )();	// execute selected function.
	}

}

void __irq Lcd_Int(void)
{

	rINTSUBMSK=rINTSUBMSK|BIT_SUB_DISP_FRAME|BIT_SUB_DISP_FIFO;

	if(rSUBSRCPND&(1<<20))
		Uart_Printf("Frame Sync. Interrupte is occured!\n");
	else if(rSUBSRCPND&(1<<16))
		Uart_Printf("FIFO Interrupt is occured!\n");

	rSUBSRCPND=rSUBSRCPND|BIT_SUB_DISP_FRAME|BIT_SUB_DISP_FIFO; //Clear SUB Interrupt Source Pending.
	ClearPending(BIT_LCD_POST);//Clear Source Pending, Interrupt Pending	   
}

void __irq Lcd_Int_Fr(void)
{
	rINTSUBMSK|=BIT_SUB_DISP_FRAME|BIT_SUB_DISP_FIFO|BIT_SUB_POST;

//	framecnt++;
	framedone=1;
//	if(framecnt%2) rGPDAT |= (1<<8);
//	else			    rGPDAT &= ~(1<<8);

	rSUBSRCPND|=BIT_SUB_DISP_FRAME; //Clear SUB Interrupt Source Pending.
	ClearPending(BIT_LCD_POST);//Clear Source Pending, Interrupt Pending	   
	rINTSUBMSK&=~(BIT_SUB_DISP_FRAME);
}


void __irq Lcd_Int_DualBuffer(void)
{
	rINTSUBMSK|=BIT_SUB_DISP_FRAME|BIT_SUB_DISP_FIFO|BIT_SUB_POST;

	framecnt++;

	rSUBSRCPND|=BIT_SUB_DISP_FRAME; //Clear SUB Interrupt Source Pending.
	ClearPending(BIT_LCD_POST);//Clear Source Pending, Interrupt Pending	   
	rINTSUBMSK&=~(BIT_SUB_DISP_FRAME);
}

void __irq Lcd_Int_FGDualBuffer(void)
{
	rINTSUBMSK|=BIT_SUB_DISP_FRAME;

	if((rLCDCON1>>20)&1)
		rLCDCON1&=(~(1<<20));
	else
		rLCDCON1=(rLCDCON1&~(1<<20))|(1<<20);
/*
	if((rLCDCON1>>20)&1)
		LcdSelectBuffer(FGBUFFER1);
	else
		LcdSelectBuffer(FGBUFFER2);
*/	
	rSUBSRCPND|=BIT_SUB_DISP_FRAME; //Clear SUB Interrupt Source Pending.
	ClearPending(BIT_LCD_POST);//Clear Source Pending, Interrupt Pending	   

}
void Test_Lcd_8Bit_240320_On(void)
{

//	DisplayType=MODE_PAR_8BIT_240320;
//	WhichFrameBuffer=BGBUFFER1;	
	int i,j,k;

#ifdef LTS222
	InitLDI();
#endif
	
	PaletteInit(PAL_565_8BPPBG); // Initialize 256 palette 
	LcdBGInit(MODE_PAR_8BIT_240320);
	GlibInit(MODE_PAR_8BIT_240320, BGBUFFER1);

	
	GlibClearScr(0);

	k=0;
	for(j=0; j<BG_YSIZE_240320; j++)
		for(i=0; i<BG_XSIZE_240320; i++)
			PutPixel(i,j,DEMO256[k++]);

	LcdEnvidOnOff(1); // Enable ENVID Bit

} 

void Test_Lcd_16Bit_240320_On(void)
{

//	DisplayType=MODE_PAR_8BIT_240320;
//	WhichFrameBuffer=BGBUFFER1;	
	int i,j,k;

#ifdef LTS222
	InitLDI();
#endif

	LcdBGInit(MODE_PAR_16BIT565_240320);
	GlibInit(MODE_PAR_16BIT565_240320, BGBUFFER1);

	
	GlibClearScr(0);

	k=0;
	for(j=0; j<BG_YSIZE_240320; j++)
		for(i=0; i<BG_XSIZE_240320; i++)
			PutPixel(i,j,sghx600iqvga16[k++]);
			//PutPixel(i,j,pqvga16bsm5[k++]);

	LcdEnvidOnOff(1); // Enable ENVID Bit

} 




void Test_Lcd_PAR_8Bit_240320(void)
{
	int i,j,k;

#ifdef LTS222
	InitLDI();
#endif
	
	PaletteInit(PAL_565_8BPPBG); // Initialize 256 palette 
	LcdBGInit(MODE_PAR_8BIT_240320);
	GlibInit(MODE_PAR_8BIT_240320, BGBUFFER1);


	Uart_Printf("[256 COLOR(8bit/1pixel) Parallel Mode LCD TEST]\n");

	GlibClearScr(0); // Fill the LCD panel with Black Color
	LcdEnvidOnOff(1); // Enable ENVID Bit
	Uart_Getch();

	GlibFilledRectangle(0, 0, BG_XSIZE_240320/2-1, BG_YSIZE_240320-1,51);
	GlibFilledRectangle(BG_XSIZE_240320/2 , 0, BG_XSIZE_240320-1, BG_YSIZE_240320-1,52);	
	Uart_Printf("256 Color Parallel mode test 1. Press any key to continue!\n");
	Uart_Getch(); 
	
	GlibClearScr(0); // Fill the LCD panel with Black Color
	k=0;
	for(j=0; j<BG_YSIZE_240320; j+=16)
		for(i=0; i<BG_XSIZE_240320; i+=16)
			GlibFilledRectangle(i,j,i+15,j+15,(k++)%255);
	Uart_Printf("256 Color Parallel mode test 2. Press any key to continue!\n");
	Uart_Getch();

	GlibClearScr(0); // Fill the LCD panel with Black Color
	k=0;
	for(j=0; j<BG_YSIZE_240320; j+=10)
		for(i=0; i<BG_XSIZE_240320; i+=8)
			GlibFilledRectangle(i, j, i+7, j+9, (k++)%255); 
	Uart_Printf("256 Color Parallel mode test 3. Press any key to continue!\n");
	Uart_Getch(); 


	GlibClearScr(0); // Fill the LCD panel with Black Color
	//First Quarter
	GlibRectangle(0, 0, BG_XSIZE_240320-1, BG_YSIZE_240320-1, 255); //red
	GlibLine(0, 0, BG_XSIZE_240320-1, BG_YSIZE_240320-1, 3);//red
	GlibLine(0, BG_YSIZE_240320-1, BG_XSIZE_240320-1, 0, 3);//red
	//Second Quarter
	GlibFilledRectangle(BG_XSIZE_240320, 0, BG_XSIZE_240320+29, 29, 8);
	GlibFilledRectangle(BG_VXSIZE_240320-30, 0, BG_VXSIZE_240320-1, 29, 18);
	GlibFilledRectangle(BG_XSIZE_240320, BG_YSIZE_240320-30, BG_XSIZE_240320+29, BG_YSIZE_240320-1, 150);
	GlibFilledRectangle(BG_VXSIZE_240320-30, BG_YSIZE_240320-30, BG_VXSIZE_240320-1, BG_YSIZE_240320-1, 200);
	GlibRectangle(BG_XSIZE_240320, 0, BG_VXSIZE_240320-1, BG_YSIZE_240320-1, 255);
	GlibLine(BG_XSIZE_240320, 0, BG_VXSIZE_240320-1, BG_YSIZE_240320-1, 3);
	GlibLine(BG_XSIZE_240320, BG_YSIZE_240320-1, BG_VXSIZE_240320-1, 0, 3);
	//Third Quarter
	GlibRectangle(0, BG_YSIZE_240320, BG_XSIZE_240320-1, BG_VYSIZE_240320-1, 18);
	GlibLine(0, BG_YSIZE_240320, BG_XSIZE_240320-1, BG_YSIZE_240320+BG_YSIZE_240320/2, 255);
	GlibLine(0, BG_VYSIZE_240320-1, BG_XSIZE_240320-1, BG_YSIZE_240320+BG_YSIZE_240320/2, 255);
	GlibLine(0, BG_YSIZE_240320+BG_YSIZE_240320/2, BG_XSIZE_240320-1, BG_YSIZE_240320, 255);	
	GlibLine(0, BG_YSIZE_240320+BG_YSIZE_240320/2, BG_XSIZE_240320-1, BG_VYSIZE_240320-1, 255);	
	//Fourth Quarter
	GlibRectangle(BG_XSIZE_240320, BG_YSIZE_240320, BG_VXSIZE_240320-1, BG_VYSIZE_240320-1, 255);
	GlibLine(BG_XSIZE_240320, BG_YSIZE_240320, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_VYSIZE_240320-1, 3);
	GlibLine(BG_VXSIZE_240320-1, BG_YSIZE_240320, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_VYSIZE_240320-1, 3);
	GlibLine(BG_XSIZE_240320, BG_VYSIZE_240320-1, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_YSIZE_240320, 3);
	GlibLine(BG_VXSIZE_240320-1, BG_VYSIZE_240320-1, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_YSIZE_240320, 3);	

	Uart_Printf("256 Color Parallel mode test for Virtual Screen. Press any key[ijkm\\r]!\n");
	MoveViewPort(MODE_PAR_8BIT_240320, BGBUFFER1);
	LcdMoveViewPort(0, 0, MODE_PAR_8BIT_240320, BGBUFFER1);
	LcdEnvidOnOff(0);
}


void Test_Lcd_PAR_8BitNoPalette_240320(void)
{
	int i,j,k;

#ifdef LTS222
	InitLDI();	
#endif

	LcdBGInit(MODE_PAR_8BITNP_240320);
	GlibInit(MODE_PAR_8BITNP_240320, BGBUFFER1);
	
	Uart_Printf("[256 COLOR(8bit/1pixel) Parallel Mode LCD TEST]\n");

	GlibClearScr(0); // Fill the LCD panel with Black Color
	LcdEnvidOnOff(1); // Enable ENVID Bit
	Uart_Getch();
	

	GlibClearScr(0); // Fill the LCD panel with Black Color
	GlibFilledRectangle(0, 0, BG_XSIZE_240320/2-1, BG_YSIZE_240320-1,51);
	GlibFilledRectangle(BG_XSIZE_240320/2 , 0, BG_XSIZE_240320-1, BG_YSIZE_240320-1,52);	
	Uart_Printf("256 Color Parallel mode test 1. Press any key to continue!\n");
	Uart_Getch(); 
	
	GlibClearScr(0); // Fill the LCD panel with Black Color
	k=0;
	for(j=0; j<BG_YSIZE_240320; j+=16)
		for(i=0; i<BG_XSIZE_240320; i+=16)
			GlibFilledRectangle(i,j,i+15,j+15,(k++)%255);
	Uart_Printf("256 Color Parallel mode test 2. Press any key to continue!\n");
	Uart_Getch();

	GlibClearScr(0); // Fill the LCD panel with Black Color
	k=0;
	for(j=0; j<BG_YSIZE_240320; j+=10)
		for(i=0; i<BG_XSIZE_240320; i+=8)
			GlibFilledRectangle(i, j, i+7, j+9, (k++)%255); 
	Uart_Printf("256 Color Parallel mode test 3. Press any key to continue!\n");
	Uart_Getch(); 


	GlibClearScr(0); // Fill the LCD panel with Black Color
	//First Quarter
	GlibRectangle(0, 0, BG_XSIZE_240320-1, BG_YSIZE_240320-1, 255); //red
	GlibLine(0, 0, BG_XSIZE_240320-1, BG_YSIZE_240320-1, 3);//red
	GlibLine(0, BG_YSIZE_240320-1, BG_XSIZE_240320-1, 0, 3);//red
	//Second Quarter
	GlibFilledRectangle(BG_XSIZE_240320, 0, BG_XSIZE_240320+29, 29, 8);
	GlibFilledRectangle(BG_VXSIZE_240320-30, 0, BG_VXSIZE_240320-1, 29, 18);
	GlibFilledRectangle(BG_XSIZE_240320, BG_YSIZE_240320-30, BG_XSIZE_240320+29, BG_YSIZE_240320-1, 150);
	GlibFilledRectangle(BG_VXSIZE_240320-30, BG_YSIZE_240320-30, BG_VXSIZE_240320-1, BG_YSIZE_240320-1, 200);
	GlibRectangle(BG_XSIZE_240320, 0, BG_VXSIZE_240320-1, BG_YSIZE_240320-1, 255);
	GlibLine(BG_XSIZE_240320, 0, BG_VXSIZE_240320-1, BG_YSIZE_240320-1, 3);
	GlibLine(BG_XSIZE_240320, BG_YSIZE_240320-1, BG_VXSIZE_240320-1, 0, 3);
	//Third Quarter
	GlibRectangle(0, BG_YSIZE_240320, BG_XSIZE_240320-1, BG_VYSIZE_240320-1, 18);
	GlibLine(0, BG_YSIZE_240320, BG_XSIZE_240320-1, BG_YSIZE_240320+BG_YSIZE_240320/2, 255);
	GlibLine(0, BG_VYSIZE_240320-1, BG_XSIZE_240320-1, BG_YSIZE_240320+BG_YSIZE_240320/2, 255);
	GlibLine(0, BG_YSIZE_240320+BG_YSIZE_240320/2, BG_XSIZE_240320-1, BG_YSIZE_240320, 255);	
	GlibLine(0, BG_YSIZE_240320+BG_YSIZE_240320/2, BG_XSIZE_240320-1, BG_VYSIZE_240320-1, 255);	
	//Fourth Quarter
	GlibRectangle(BG_XSIZE_240320, BG_YSIZE_240320, BG_VXSIZE_240320-1, BG_VYSIZE_240320-1, 255);
	GlibLine(BG_XSIZE_240320, BG_YSIZE_240320, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_VYSIZE_240320-1, 3);
	GlibLine(BG_VXSIZE_240320-1, BG_YSIZE_240320, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_VYSIZE_240320-1, 3);
	GlibLine(BG_XSIZE_240320, BG_VYSIZE_240320-1, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_YSIZE_240320, 3);
	GlibLine(BG_VXSIZE_240320-1, BG_VYSIZE_240320-1, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_YSIZE_240320, 3);	

	Uart_Printf("256 Color Parallel mode test for Virtual Screen. Press any key[ijkm\\r]!\n");
	MoveViewPort(MODE_PAR_8BITNP_240320, BGBUFFER1);
	LcdMoveViewPort(0, 0, MODE_PAR_8BITNP_240320, BGBUFFER1);
	LcdEnvidOnOff(0);
}

void Test_Lcd_PAR_16Bit565_240320(void)
{
	int i,j,k;
	U32 tempval;
	
#ifdef LTS222
	InitLDI();
#endif

	LcdBGInit(MODE_PAR_16BIT565_240320);
	GlibInit(MODE_PAR_16BIT565_240320, BGBUFFER1);

#if BGRTEST
	rLCDCON1=(rLCDCON1&~(3<<9))|(1<<9);
#endif

	Uart_Printf("[64K COLOR(16bit/1pixel) Parallel Mode LCD TEST]\n");

	GlibClearScr(0); // Fill the LCD panel with Black Color
	LcdEnvidOnOff(1); // Enable ENVID Bit
	Uart_Getch();

	GlibFilledRectangle(0, 0, BG_XSIZE_240320/2-1, BG_YSIZE_240320-1,0);
	GlibFilledRectangle(BG_XSIZE_240320/2 , 0, BG_XSIZE_240320-1, BG_YSIZE_240320-1,0xffff);	
	Uart_Printf("64K Color Parallel mode test 1. Press any key to continue!\n");
	Uart_Getch(); 

	GlibClearScr(0); // Fill the LCD panel with Black Color
	GlibFilledRectangle(0, 0, BG_XSIZE_240320/2-1, BG_YSIZE_240320/2-1, 0xf800); //red
	GlibFilledRectangle(BG_XSIZE_240320/2, 0, BG_XSIZE_240320-1, BG_YSIZE_240320/2-1, 0x7e0);//green
	GlibFilledRectangle(0, BG_YSIZE_240320/2, BG_XSIZE_240320/2-1, BG_YSIZE_240320-1,0x1f);//blue
	GlibFilledRectangle(BG_XSIZE_240320/2, BG_YSIZE_240320/2, BG_XSIZE_240320-1, BG_YSIZE_240320-1,0xffff);//white	
	Uart_Printf("64K Color Parallel mode test 2. Press any key to continue!\n");
	Uart_Getch();
	
	GlibClearScr(0); // Fill the LCD panel with White Color
	k=0;
	for(j=0; j<BG_YSIZE_240320; j+=16)
		for(i=0; i<BG_XSIZE_240320; i+=16) {
			tempval = ((10*((k>>4)%4)+1)<<11) +((21*((k>>2)%4))<<6)+((10*(k%4))+1);
			k++;
			GlibFilledRectangle(i, j, i+15, j+15, tempval); 
		}	
	Uart_Printf("64K Color Parallel mode test 3. Press any key to continue!\n");
	Uart_Getch(); 

	
	GlibClearScr(0); // Fill the LCD panel with White Color
	k=0;
	for(j=0; j<BG_YSIZE_240320; j+=10)
		for(i=0; i<BG_XSIZE_240320; i+=10) {
			tempval = ((10*((k>>4)%4)+1)<<11) +((21*((k>>2)%4))<<6)+((10*(k%4))+1);
			k++;
			GlibFilledRectangle(i, j, i+9, j+9, tempval); 
		}	
	Uart_Printf("64K Color Parallel mode test 4. Press any key to continue!\n");
	Uart_Getch(); 

	GlibClearScr(0); // Fill the LCD panel with Black Color
	//First Quarter
	GlibRectangle(0, 0, BG_XSIZE_240320-1, BG_YSIZE_240320-1, 0xf801); //red
	GlibLine(0, 0, BG_XSIZE_240320-1, BG_YSIZE_240320-1, 0xff);//red
	GlibLine(0, BG_YSIZE_240320-1, BG_XSIZE_240320-1, 0, 0xff);//red
	//Second Quarter
	GlibFilledRectangle(BG_XSIZE_240320, 0, BG_XSIZE_240320+29, 29, 0xf800);
	GlibFilledRectangle(BG_VXSIZE_240320-30, 0, BG_VXSIZE_240320-1, 29, 0x7e0);
	GlibFilledRectangle(BG_XSIZE_240320, BG_YSIZE_240320-30, BG_XSIZE_240320+29, BG_YSIZE_240320-1, 0x1f);
	GlibFilledRectangle(BG_VXSIZE_240320-30, BG_YSIZE_240320-30, BG_VXSIZE_240320-1, BG_YSIZE_240320-1, 0xffff);
	GlibRectangle(BG_XSIZE_240320, 0, BG_VXSIZE_240320-1, BG_YSIZE_240320-1, 0xf800);
	GlibLine(BG_XSIZE_240320, 0, BG_VXSIZE_240320-1, BG_YSIZE_240320-1, 0xff);
	GlibLine(BG_XSIZE_240320, BG_YSIZE_240320-1, BG_VXSIZE_240320-1, 0, 0xff);	
	//Third Quarter
	GlibRectangle(0, BG_YSIZE_240320, BG_XSIZE_240320-1, BG_VYSIZE_240320-1, 0xf800);
	GlibLine(0, BG_YSIZE_240320, BG_XSIZE_240320-1, BG_YSIZE_240320+BG_YSIZE_240320/2, 0xff00);
	GlibLine(0, BG_VYSIZE_240320-1, BG_XSIZE_240320-1, BG_YSIZE_240320+BG_YSIZE_240320/2, 0xff00);
	GlibLine(0, BG_YSIZE_240320+BG_YSIZE_240320/2, BG_XSIZE_240320-1, BG_YSIZE_240320, 0xff00);	
	GlibLine(0, BG_YSIZE_240320+BG_YSIZE_240320/2, BG_XSIZE_240320-1, BG_VYSIZE_240320-1, 0xff00);	
	//Fourth Quarter
	GlibRectangle(BG_XSIZE_240320, BG_YSIZE_240320, BG_VXSIZE_240320-1, BG_VYSIZE_240320-1, 0xf800);
	GlibLine(BG_XSIZE_240320, BG_YSIZE_240320, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_VYSIZE_240320-1, 0xff0);
	GlibLine(BG_VXSIZE_240320-1, BG_YSIZE_240320, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_VYSIZE_240320-1, 0xff0);
	GlibLine(BG_XSIZE_240320, BG_VYSIZE_240320-1, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_YSIZE_240320, 0xff0);
	GlibLine(BG_VXSIZE_240320-1, BG_VYSIZE_240320-1, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_YSIZE_240320, 0xff0);	

	Uart_Printf("64K Color Parallel mode test for Virtual Screen. Press any key[ijkm\\r]!\n");
	MoveViewPort(MODE_PAR_16BIT565_240320, BGBUFFER1);
	LcdMoveViewPort(0, 0, MODE_PAR_16BIT565_240320, BGBUFFER1);
	LcdEnvidOnOff(0);
}

void Test_Lcd_PAR_16Bit5551_240320(void)
{
	int i,j,k;
	U32 tempval;

#ifdef LTS222
	InitLDI();	
#endif

	LcdBGInit(MODE_PAR_16BIT5551_240320);
	GlibInit(MODE_PAR_16BIT5551_240320, BGBUFFER1);	

	Uart_Printf("[64K COLOR(16bit/1pixel) Parallel Mode LCD TEST]\n");

	GlibClearScr(0); // Fill the LCD panel with Black Color

⌨️ 快捷键说明

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