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

📄 lcd.c

📁 三星2413芯片的测试代码,对进行驱动开发很有帮助.
💻 C
📖 第 1 页 / 共 3 页
字号:
	Glib_ClearScr(0, MODE_TFT_16BIT_240320);

	Lcd_EnvidOnOff(1); 
    

	printf("[TFT 64K COLOR(16bit/1pixel) LCD TEST]\n");

	Glib_ClearScr(0, MODE_TFT_16BIT_240320);
	Glib_FilledRectangle(0,0,119,159,0xf800);    
	Glib_FilledRectangle(120,0,239,159,0x7e0);    
	Glib_FilledRectangle(0,160,119,319,0x1f);
	Glib_FilledRectangle(120,160,239,319,0xffff);
	printf("TFT 64K color mode test 1. Press any key!\n");
	getchar();  	
    
	Glib_ClearScr(0, MODE_TFT_16BIT_240320);
	Glib_Rectangle(0,0,239,319,0x07e0);   
	Glib_FilledRectangle(0,0,20,20,65535);   
	Glib_Rectangle(220,300,239,319,65535);   
	Glib_Line(0,0,239,319,0x1f);
	Glib_Line(239,0,0,319,0xf800);
	printf("TFT 64K color mode test 2. Press any key!\n");
	getchar();

	Glib_ClearScr(0, MODE_TFT_16BIT_240320);
	k=0;
	for(i=80;i<240;i+=10)
	{
		for(j=60;j<180;j+=10)
		{
			Glib_FilledRectangle(j,i,j+9,i+9,k);
			k++;
		}
	}

	Glib_Rectangle(0,0,239,319,65535);
	Glib_Line(0,0,239,319,65535);
	Glib_Line(0,319,239,0,65535);
    
	Glib_Rectangle(0+240,0,239+240,319,0xf800);
	Glib_Line(0+240,0,239+240,319,255);
	Glib_Line(0+240,319,239+240,0,255);
    
	Glib_Rectangle(0,0+320,239,319+320,0x7e0);
	Glib_Line(0,0+320,239,319+320,255);
	Glib_Line(0,319+320,239,0+320,255);
    
	Glib_Rectangle(0+240,0+320,239+240,319+320,0x1f);
	Glib_Line(0+240,0+320,239+240,319+320,255);
	Glib_Line(0+240,319+320,239+240,0+320,255);
	Glib_Rectangle(40+240,40+320,480-41,640-41,0xf800);

	printf("Virtual Screen Test(TFT 64K color). i: Upper, m: Lower, j: Left, l: right!\n");
	printf("Press Enter to exit!\n");
	
	MoveViewPort(MODE_TFT_16BIT_240320);
	Lcd_MoveViewPort(0,0,MODE_TFT_16BIT_240320);

	Glib_ClearScr(0, MODE_TFT_16BIT_240320);
	Lcd_EnvidOnOff(0);
	Lcd_PowerEnable(0, 0);
	Lcd_Port_Return();
	
}


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

    printf("[TFT 64K COLOR(16bit/1pixel) LCD TEST1]\n");

	InitLDI_LTV350();
	
	Lcd_Port_Init();
	Lcd_PowerEnable(0, 1);
    Lcd_Init(MODE_TFT_16BIT_320240);
    Glib_Init(MODE_TFT_16BIT_320240);


    Lcd_EnvidOnOff(1);
    
   
    Glib_ClearScr(0, MODE_TFT_16BIT_320240);
    Glib_FilledRectangle(0,0,159,119,0xf800);    
    Glib_FilledRectangle(160,0,319,119,0x7e0);    
    Glib_FilledRectangle(0,120,159,239,0x1f);    
    Glib_FilledRectangle(160,120,319,239,0xffff);    
    
    printf("TFT 64K color mode test 1. Press any key!\n");
    getchar();
    
	k=0;
    for(j=0;j<240;j++)
        for(i=0;i<320;i++)
            PutPixel(i,j,((int)sun320240_16bpp[k++]));
            
    printf("TFT 64K color mode test 2. Press any key!\n");
	getchar();
	
    Glib_ClearScr(0, MODE_TFT_16BIT_320240);
	Glib_Rectangle(0,0,319,239, 0xf800);
	Glib_Rectangle(320,0,639,239, 0x7e0);
	Glib_Rectangle(0,240,319,479, 0x1f);
	Glib_Rectangle(320,240,639,479, 0xffff);

	Glib_Line(0,239,319,0,0xf800);
	Glib_Line(320,0,639,239,0x7e0);
	Glib_Line(0,240,319,479,0x1f);
	Glib_Line(320,479,639,240,0xffff);
	
	Glib_Line(0,0,319,239,0xf800);
	Glib_Line(320,239,639,0,0x7e0);
	Glib_Line(0,479,319,240,0x1f);
	Glib_Line(320,240,639,479,0xffff);	

	printf("Virtual Screen Test(TFT 64K color). i: Upper, m: Lower, j: Left, l: right!\n");
	printf("Press Enter to exit!\n");
	
	MoveViewPort(MODE_TFT_16BIT_320240);
	Lcd_MoveViewPort(0,0,MODE_TFT_16BIT_320240);

	Glib_ClearScr(0, MODE_TFT_16BIT_320240);
    
    Lcd_EnvidOnOff(0);
    Lcd_PowerEnable(0, 0);
    Lcd_Port_Return();
}


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

	printf("[TFT 16M COLOR(24bit/1pixel) LCD TEST]\n");
    
	InitLDI_LTV350();    

	Lcd_Port_Init();
	Lcd_PowerEnable(0, 1);
    Lcd_Init(MODE_TFT_24BIT_320240);
    Glib_Init(MODE_TFT_24BIT_320240);


    Lcd_EnvidOnOff(1);


    Glib_ClearScr(0, MODE_TFT_24BIT_320240);
    Glib_FilledRectangle(0,0,159,119,0xff0000);    
    Glib_FilledRectangle(160,0,319,119,0xff00);    
    Glib_FilledRectangle(0,120,159,239,0xff);    
    Glib_FilledRectangle(160,120,319,239,0xffffff);    
	printf("TFT 16M color mode test 1. Press any key!\n");    
    getchar();
    
    k=0;
    for(j=0;j<240;j++)
        for(i=0;i<320;i++)
            PutPixel(i,j,((int)sun320240_24bpp[k++]));
	printf("TFT 16M color mode test 2. Press any key!\n");            
	getchar();
	
    Glib_ClearScr(0, MODE_TFT_16BIT_320240);
	Glib_Rectangle(0,0,319,239, 0xff0000);
	Glib_Rectangle(320,0,639,239, 0xff00);
	Glib_Rectangle(0,240,319,479, 0xff);
	Glib_Rectangle(320,240,639,479, 0xffffff);

	Glib_Line(0,239,319,0,0xff0000);
	Glib_Line(320,0,639,239,0xff00);
	Glib_Line(0,240,319,479,0xff);
	Glib_Line(320,479,639,240,0xffffff);
	
	Glib_Line(0,0,319,239,0xff0000);
	Glib_Line(320,239,639,0,0xff00);
	Glib_Line(0,479,319,240,0xff);
	Glib_Line(320,240,639,479,0xffffff);	

	printf("Virtual Screen Test(TFT 16M color). i: Upper, m: Lower, j: Left, l: right!\n");
	printf("Press Enter to exit!\n");
	
	MoveViewPort(MODE_TFT_24BIT_320240);
	Lcd_MoveViewPort(0,0,MODE_TFT_24BIT_320240);

	Glib_ClearScr(0, MODE_TFT_24BIT_320240);	
    
    Lcd_EnvidOnOff(0);
    Lcd_PowerEnable(0, 0);
    Lcd_Port_Return();
}

void Test_Lcd_Cstn_1Bit(void)
{
    int i,j,k;
    
    U32 *palette;
	
	palette = (volatile unsigned int *)0x4d000400;
	
	*palette++ = 0xf800;
	*palette   = 0x1f;

    printf("[CSTN 2 COLOR(1bit/1pixel) LCD TEST]\n");
	
	Lcd_Port_Init();
    Lcd_Init(MODE_CSTN_1BIT_P);
    Glib_Init(MODE_CSTN_1BIT_P);
    Lcd_PowerEnableCstn(1);
    Lcd_CstnOnOff(1); // Enable ENVID Bit and GPB5 output
 
    Glib_ClearScr(0, MODE_CSTN_1BIT_P);
    Glib_FilledRectangle(0,0,159,239,0x0);    
    Glib_FilledRectangle(160,0,319,239,0x1);    
	printf("CSTN 2 color mode test 1. Press any key!\n");
    getchar();

	Glib_ClearScr(0, MODE_CSTN_1BIT_P);
    Glib_FilledRectangle(0,0,159,119,0x0);    
    Glib_FilledRectangle(160,0,319,119,0x1);    
    Glib_FilledRectangle(0,120,159,239,0x1);    
    Glib_FilledRectangle(160,120,319,239,0x0);  
    
	printf("CSTN 2 color mode test 3. Press any key!\n");
    getchar();  


	Glib_ClearScr(0, MODE_CSTN_1BIT_P);
	Glib_Rectangle(0,0,319,239, 0x1);
	Glib_Rectangle(320,0,639,239, 0x1);
	Glib_Rectangle(0,240,319,479, 0x1);
	Glib_Rectangle(320,240,639,479, 0x1);
	
	Glib_Line(0,239,319,0,0x1);
	Glib_Line(320,0,639,239,0x1);
	Glib_Line(0,240,319,479,0x1);
	Glib_Line(320,479,639,240,0x1);
	
	Glib_Line(0,0,319,239,0x1);
	Glib_Line(320,239,639,0,0x1);
	Glib_Line(0,479,319,240,0x1);
	Glib_Line(320,240,639,479,0x1);
	printf("Virtual Screen Test(CSTN 2-color). i: Upper, m: Lower, j: Left, l: right!\n");
	printf("Press Enter to exit!\n");
	
	MoveViewPort(MODE_CSTN_1BIT_P);
	Lcd_MoveViewPort(0,0,MODE_CSTN_1BIT_P);
    
    Lcd_PowerEnableCstn(0);
    Lcd_CstnOnOff(0); // Disable ENVID Bit and GPB5 output 
    Lcd_Port_Return();

}

void Test_Lcd_Cstn_2Bit(void)
{
    int i,j,k;
    
    U32 *palette;
	
	palette = (volatile unsigned int *)0x4d000400;
	
	*palette++	= 0x0;
	*palette++	= 0xf800;
	*palette++	= 0x7e0;
	*palette	= 0x1f;
	
	
    printf("[CSTN 4 COLOR(2bit/1pixel) LCD TEST]\n");
	
	Lcd_Port_Init();
    Lcd_Init(MODE_CSTN_2BIT_P);
    Glib_Init(MODE_CSTN_2BIT_P);
    Lcd_PowerEnableCstn(1);
    Lcd_CstnOnOff(1); // Enable ENVID Bit and GPB5 output
 
    Glib_ClearScr(0, MODE_CSTN_2BIT_P);

    Glib_FilledRectangle(0,0,159,119,0x1);    
    Glib_FilledRectangle(160,0,319,119,0x2);    
    Glib_FilledRectangle(0,120,159,239,0x3);    
    Glib_FilledRectangle(160,120,319,239,0x0);   
  
	printf("CSTN 2 color mode test 1. Press any key!\n");
    getchar();
    
	Glib_ClearScr(0, MODE_CSTN_2BIT_P);
	Glib_Rectangle(0,0,319,239, 0x1);
	Glib_Rectangle(320,0,639,239, 0x2);
	Glib_Rectangle(0,240,319,479, 0x2);
	Glib_Rectangle(320,240,639,479, 0x1);

	Glib_Line(0,239,319,0,0x3);
	Glib_Line(320,0,639,239,0x3);
	Glib_Line(0,240,319,479,0x3);
	Glib_Line(320,479,639,240,0x3);
	
	Glib_Line(0,0,319,239,0x3);
	Glib_Line(320,239,639,0,0x3);
	Glib_Line(0,479,319,240,0x3);
	Glib_Line(320,240,639,479,0x3);
	
	printf("Virtual Screen Test(CSTN 4-color). i: Upper, m: Lower, j: Left, l: right!\n");
	printf("Press Enter to exit!\n");
	
	MoveViewPort(MODE_CSTN_2BIT_P);
	Lcd_MoveViewPort(0,0,MODE_CSTN_2BIT_P);
      
    
    Lcd_PowerEnableCstn(0);
    Lcd_CstnOnOff(0); // Disable ENVID Bit and GPB5 output 
    Lcd_Port_Return();
}

void Test_Lcd_Cstn_4Bit(void)
{
    int i,j,k;
    
    U32 *palette;
	
	palette = (volatile unsigned int *)0x4d000400;
	
	*palette++ = 0x0;
	*palette++ = 0xf800;
	*palette++ = 0x7e0;
	*palette++ = 0x1f;
	
	*palette++ = 0xffe0;
	*palette++ = 0xf81f;
	*palette++ = 0x7ff;
	*palette++ = 0xffff;	
	
	*palette++ = (32<<11)|(32<<5)|(32);
	*palette++ = (32<<11)|(0<<5)|(32);
	*palette++ = (32<<11)|(32<<5)|(0);
	*palette++ = (0<<11)|(32<<5)|(32);

	*palette++ = (10<<11)|(10<<5)|(10);
	*palette++ = (0<<11)|(10<<5)|(10);
	*palette++ = (10<<11)|(10<<5)|(0);
	*palette = (10<<11)|(0<<5)|(10);		
	
	
    printf("[CSTN 16 COLOR(4bit/1pixel) LCD TEST]\n");
	
	Lcd_Port_Init();
    Lcd_Init(MODE_CSTN_4BIT_P);
    Glib_Init(MODE_CSTN_4BIT_P);
    Lcd_PowerEnableCstn(1);
    Lcd_CstnOnOff(1); // Enable ENVID Bit and GPB5 output
 
    Glib_ClearScr(0, MODE_CSTN_4BIT_P);

    k=0;
    for(j=0;j<240;j=j+60)
        for(i=0;i<320;i=i+80) {
			Glib_FilledRectangle(i,j,i+79,j+59,k++);
        }
			
  
	printf("CSTN 16-color mode test 1. Press any key!\n");
    getchar();  
    
    Glib_ClearScr(0, MODE_CSTN_4BIT_P);
	Glib_Rectangle(0,0,319,239, 0x1);
	Glib_Rectangle(320,0,639,239, 0x2);
	Glib_Rectangle(0,240,319,479, 0x3);
	Glib_Rectangle(320,240,639,479, 0x4);

	Glib_Line(0,239,319,0,0x5);
	Glib_Line(320,0,639,239,0x6);
	Glib_Line(0,240,319,479,0x7);
	Glib_Line(320,479,639,240,0x8);
	
	Glib_Line(0,0,319,239,0xa);
	Glib_Line(320,239,639,0,0xb);
	Glib_Line(0,479,319,240,0xc);
	Glib_Line(320,240,639,479,0xd);
    
	printf("Virtual Screen Test(CSTN 16-color). i: Upper, m: Lower, j: Left, l: right!\n");
	printf("Press Enter to exit!\n");
	
	MoveViewPort(MODE_CSTN_4BIT_P);
	Lcd_MoveViewPort(0,0,MODE_CSTN_4BIT_P);    
    
    Lcd_PowerEnableCstn(0);
    Lcd_CstnOnOff(0); // Disable ENVID Bit and GPB5 output 
    Lcd_Port_Return();
}


void Test_Lcd_Cstn_8Bit_P(void)
{
    int i,j,k;
    
	printf("[CSTN 256 COLOR(8bit/1pixel) LCD TEST]\n");
	
	Lcd_Port_Init();
    Lcd_Init(MODE_CSTN_8BIT_P);
    Glib_Init(MODE_CSTN_8BIT_P);
    Lcd_Palette8Bit_Init();
    Lcd_PowerEnableCstn(1);
    Lcd_CstnOnOff(1); // Enable ENVID Bit and GPB5 output
 
    Glib_ClearScr(0, MODE_CSTN_8BIT_P);

    k=0;
    for(j=0;j<240;j=j+16)
        for(i=0;i<320;i=i+16) {
			Glib_FilledRectangle(i,j,i+15,j+15,k++);
        }
			
            
    printf("CSTN 256-color mode test 1. Press any key!\n");
    getchar();  
    
    Glib_ClearScr(42, MODE_CSTN_8BIT_P);
	Glib_Rectangle(0,0,319,239, 0x1);
	Glib_Rectangle(320,0,639,239, 0x2);
	Glib_Rectangle(0,240,319,479, 0x3);
	Glib_Rectangle(320,240,639,479, 0x4);

	Glib_Line(0,239,319,0,0x5);
	Glib_Line(320,0,639,239,0x6);
	Glib_Line(0,240,319,479,0x7);
	Glib_Line(320,479,639,240,0x8);
	
	Glib_Line(0,0,319,239,0xa);
	Glib_Line(320,239,639,0,0xb);
	Glib_Line(0,479,319,240,0xc);
	Glib_Line(320,240,639,479,0xd);

	printf("Virtual Screen Test(CSTN 256-color). i: Upper, m: Lower, j: Left, l: right!\n");
	printf("Press Enter to exit!\n");
    
	MoveViewPort(MODE_CSTN_8BIT_P);
	Lcd_MoveViewPort(0,0,MODE_CSTN_8BIT_P);  
	    
    Lcd_PowerEnableCstn(0);
    Lcd_CstnOnOff(0); // Disable ENVID Bit and GPB5 output 
    Lcd_Port_Return();
}

void Test_Lcd_Cstn_8Bit(void)
{
    int i,j,k;
	
    printf("[CSTN 256 COLOR(8bit/1pixel) LCD TEST]\n");
	
	Lcd_Port_Init();
    Lcd_Init(MODE_CSTN_8BIT);
    Glib_Init(MODE_CSTN_8BIT);
    Lcd_PowerEnableCstn(1);
    Lcd_CstnOnOff(1); // Enable ENVID Bit and GPB5 output
 
    Glib_ClearScr(0, MODE_CSTN_8BIT);

    Glib_FilledRectangle(0,0,159,119,0xe0);    
    Glib_FilledRectangle(160,0,319,119,0x1c);    
    Glib_FilledRectangle(0,120,159,239,0x3);    
    Glib_FilledRectangle(160,120,319,239,0xff);
    
    printf("CSTN 256 color mode test 1. Press any key!\n");
    getchar();  
    
    k=0;
    for(j=0;j<240;j++)
        for(i=0;i<320;i++)

⌨️ 快捷键说明

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