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

📄 lcd.c

📁 samsung 2410 demo源代码
💻 C
📖 第 1 页 / 共 4 页
字号:
void Test_Lcd_Tft_16Bit_800600_On(void)
{
    int i,j,k=0;

    Lcd_Start(MODE_TFT_16BIT_800600);

    printf("\n[TFT LCD(800x600 ,16bpp) WILL BE TURNED ON EVEN DURING OTHER TEST]\n");
    printf("If you'd like to off the TFT LCD, then excute other LCD test program,\n");     

    for(i=0;i<LCD_XSIZE_TFT_800600;i+=40)
		for(j=0;j<LCD_YSIZE_TFT_800600;j+=30)
		{ 
		    Glib_FilledRectangle(i,j,i+39,j+29,(k%65535));
		    k+=150;
		}
}

void Test_Lcd_Palette_Ram(void)
{
    int i;	
    U32 *palette;

    printf("Palette ram test has started.\n");
    printf("LCD Display may be stopped.\n");
    Lcd_EnvidOnOff(0);
//    printf("VSTATUS : %x, HSTATUS : %x \n", (rLCDCON5&(15<<3))>>15, (rLCDCON5&(13<<3))>>13);
	
    palette=(U32 *)PALETTE;
    for(i=0;i<256;i++)
    {
		*palette++=i;
    }	
	
    palette=(U32 *)PALETTE;
    for(i=0;i<256;i++)
    {
		if(((*palette++)&0xffff) != i)
		printf("Error is occured during palette ram testing at [0x%x]\n", i);
    }	

    printf("Palette Ram Test OK!!!\n");
    printf("Press any key to continue.\n");
    Uart_Getch();
}


void Test_Lcd_Underrun(void)
{
	printf("Test heavy bus access by write buffer!!\n");

	printf("Select LCD : 1-240x320(LCC3600)[D]   2-800x600(General)\n");
	if (Uart_Getch() == '2')
		Test_Lcd_Tft_16Bit_800600_On();	
	else Test_Lcd_Tft_8Bit_240320_On();	

	printf("If you want to stop test and continue test, then Press any key!\n");
	
	while(1){
		    SDRAMtest();
		if(Uart_GetKey()) break;
   	}

}

*/

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

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

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


    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);    

    Lcd_EnvidOnOff(1);    
}


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

	Lcd_Port_Init();    
    Lcd_PowerEnable(0, 1);
    Lcd_Init(MODE_TFT_16BIT_240320);
    
#if USEDTFT==LTS350PD    
    rTCONSEL |= 0x7;
#elif USEDTFT==LTS350PE
    rTCONSEL=(rTCONSEL|(1<<4))&(~1); // Enable LCC3600, Disable LPC3600
#endif
	    
    Glib_Init(MODE_TFT_16BIT_240320);    
    Glib_ClearScr(0, MODE_TFT_16BIT_240320);

    Lcd_EnvidOnOff(1); 
    
#if 0    
    Glib_ClearScr(0, MODE_TFT_16BIT_240320);
	Glib_FilledRectangle(0,0,119,159,0xffff);
	Glib_FilledRectangle(120,0,239,159,0xf800);
	Glib_FilledRectangle(0,160,119,319,0x07f0);
	Glib_FilledRectangle(120,160,239,319,0x001f);       
#endif	

#if 1
    printf("[TFT 64K COLOR(16bit/1pixel) LCD TEST]\n");
    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 1. 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,255);
    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,255);
    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,255);
    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,0x1f);
    printf("TFT 64K color mode test 2. Press any key!\n");
    getchar();  	

    Glib_ClearScr(0, MODE_TFT_16BIT_240320);
	Glib_FilledRectangle(0,0,119,159,0xffff);
	Glib_FilledRectangle(120,0,239,159,0xf800);
	Glib_FilledRectangle(0,160,119,319,0x07f0);
	Glib_FilledRectangle(120,160,239,319,0x001f);

    printf("TFT 64K color mode test 3. 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,255);
    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,255);
    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,255);
    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,0x1f);
	getchar();

    //Glib_ClearScr(0, MODE_TFT_16BIT_240320);
	k=0;
    for(j=0;j<320;j++)
        for(i=0;i<240;i++)
            PutPixel(i,j,((int)a480testimg[k++]));

	getchar();

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

void Test_Lcd_Tft_16Bit_240320On(void)
{
    int i,j,k;
    
	Lcd_Port_Init();    
    InitLDI_LTS222();	
    Lcd_PowerEnable(0, 1);
    Lcd_Init(MODE_TFT_16BIT_240320);
    Glib_Init(MODE_TFT_16BIT_240320);    
    Lcd_EnvidOnOff(1);
	
	k=0;
    for(j=0;j<320;j++)
        for(i=0;i<240;i++)
            PutPixel(i,j,((int)a480testimg[k++]));
}

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

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

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

    Lcd_EnvidOnOff(1);
    
    //InitLDI_LTS222();

	//InitLDI_LTV350(); // Initializing LDI    

    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(16bit/1pixel) LCD TEST2]\n");
    getchar();
    
    k=0;
    for(i=0;i<320;i+=10)
    {
    	for(j=0;j<240;j+=10)
    	{
    	    Glib_FilledRectangle(j,i,j+9,i+9,k);
    	    k++;
    	}
    }
    printf("\nIf you want to stop, press any key!\n");
    getchar();
    
    Lcd_EnvidOnOff(0);
    Lcd_PowerEnable(0, 0);
    Lcd_Port_Return();
}

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

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

    Lcd_EnvidOnOff(1);    
    //InitLDI_LTV350(); // Initializing LDI


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


	k=0;
    for(j=0;j<240;j++)
        for(i=0;i<320;i++)
            //PutPixel(i,j,((int)chm16bpp[k++]));
       getchar();
    
    Lcd_EnvidOnOff(0);
    Lcd_PowerEnable(0, 0);
    Lcd_Port_Return();        
}

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

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

    Lcd_EnvidOnOff(1);    
    //InitLDI_LTV350(); // Initializing LDI


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


	k=0;
    for(j=0;j<240;j++)
        for(i=0;i<320;i++)
            //PutPixel(i,j,((int)prayer16bpp[k++]));
            
           getchar();
    
    Lcd_EnvidOnOff(0);
    Lcd_PowerEnable(0, 0);
    Lcd_Port_Return();    
}

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

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

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

    Lcd_EnvidOnOff(1);

	//InitLDI_LTV350(); // Initializing LDI    

    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("\nIf you want to stop, press any key!\n");
    getchar();
    
    Lcd_EnvidOnOff(0);
    Lcd_PowerEnable(0, 0);
    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++)
            //PutPixel(i,j,((int)flower8bpp[k++]));	
            
    printf("CSTN 4K color mode test 1. Press any key!\n");
    getchar();  
    
    Lcd_MoveViewPort(0,0,MODE_CSTN_12BIT);
    Lcd_PowerEnableCstn(0);
    Lcd_CstnOnOff(0); // Disable ENVID Bit and GPB5 output 
    Lcd_Port_Return();

}

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

    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("CSTN 4K 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)prayer16bpp[k++]));	
            
    printf("CSTN 4K 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)flower16bpp[k++]));	
            
    printf("CSTN 4K color mode test 1. Press any key!\n");
    getchar();      
/*    k=0;
    for(j=0;j<240;j+=80)
        for(i=0;i<320;i+=20)
		{   
	 	   if((k<16)|(k>31))
		    {
		        Glib_FilledRectangle(i,j,i+19,j+79,((k%16)<<(4*(k/16))));
		        k++;
		    }
		    else
		    {
		        Glib_FilledRectangle(i,j,i+19,j+79,((k-(1+2*(k%16)))<<(4*(k/16))));
		        k++;
		    }
		}
    printf("CSTN 4K color mode test 1. Press any key!\n");
    getchar();  	


    Glib_ClearScr(0, MODE_CSTN_12BIT);
    for(j=0;j<240;j++)
		for(i=0;i<320;i++)
		    PutPixel(i,j,((i/40)<<9)+((j/30)<<5)+(((j/15)%2)<<1)+((i/20)%2));
    printf("CSTN 4K color mode test 2. Press any key!\n");
    getchar();

    Glib_ClearScr(0, MODE_CSTN_12BIT);
    k=0;
    for(i=160;i<480;i+=20)
    	for(j=120;j<360;j+=15)
    	{
    	    Glib_FilledRectangle(i,j,i+19,j+14,(((k&0xf)<<8)|((k%4)<<4)|(k&0xf0)) );
    	    k++;
    	}

    // #0		    
    // 00		    
    Glib_Rectangle(0,0,319,239,0xf00);   
    Glib_Line(0,0,319,239,0x0f0);        
    Glib_Line(0,239,319,0,0x00f);
    // 0#
    // 00
    Glib_Rectangle(0+320,0,319+320,239,0xfff);
    Glib_Line(0+320,0,319+320,239,0xfff);        
    Glib_Line(0+320,239,319+320,0,0xfff);
    // 00
    // #0
    Glib_Rectangle(0,0+240,319,239+240,0xfff);
    Glib_Line(0,0+240,319,239+240,0xfff);        
    Glib_Line(0,239+240,319,0+240,0xfff);
    // 00
    // 0#
    Glib_Rectangle(0+320,0+240,319+320,239+240,0xfff);
    Glib_Line(0+320,0+240,319+320,239+240,0xfff);     
    Glib_Line(0+320,239+240,319+320,0+240,0xfff);
    Glib_Rectangle(50+320,50+240,269+320,189+240,0xfff);

    printf("Virtual Screen Test(CSTN 4K color). Press any key[ijkm\\r]!\n");
    //MoveViewPort(MODE_CSTN_12BIT);
*/    
    Lcd_MoveViewPort(0,0,MODE_CSTN_12BIT);
    Lcd_PowerEnableCstn(0);
    Lcd_CstnOnOff(0); // Disable ENVID Bit and GPB5 output 
    Lcd_Port_Return();

}

void Test_Lcd_Cstn_16Bit(void)
{
    int i,j,k;
	
    printf("[CSTN 64K COLOR(16bit/1pixel) LCD TEST]\n");
	
	Lcd_Port_Init();
    Lcd_Init(MODE_CSTN_16BIT);
    Glib_Init(MODE_CSTN_16BIT);
    Lcd_PowerEnableCstn(1);
    Lcd_CstnOnOff(1); // Enable ENVID Bit and GPB5 output
 
    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("CSTN 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)prayer16bpp[k++]));	
            
    printf("CSTN 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)flower16bpp[k++]));	
            
    printf("CSTN 64K color mode test 1. Press any key!\n");
    getchar();  

    Lcd_MoveViewPort(0,0,MODE_CSTN_12BIT);
    Lcd_PowerEnableCstn(0);
    Lcd_CstnOnOff(0); // Disable ENVID Bit and GPB5 output 
    Lcd_Port_Return();

}

⌨️ 快捷键说明

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