📄 lcd.c
字号:
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 + -