📄 lcd.c
字号:
//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);
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;
unsigned int tempval;
LcdBGInit(MODE_PAR_16BIT565_240320);
GlibInit(MODE_PAR_16BIT565_240320, BGBUFFER1);
#if BGRTEST
rLCDCON1=(rLCDCON1&~(3<<9))|(1<<9);
#endif
printf("[64K COLOR(16bit/1pixel) Parallel Mode LCD TEST]\n");
GlibClearScr(0); // Fill the LCD panel with Black Color
LcdEnvidOnOff(1); // Enable ENVID Bit
getchar();
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);
printf("64K Color Parallel mode test 1. Press any key to continue!\n");
getchar();
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
printf("64K Color Parallel mode test 2. Press any key to continue!\n");
getchar();
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);
}
printf("64K Color Parallel mode test 3. Press any key to continue!\n");
getchar();
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);
}
printf("64K Color Parallel mode test 4. Press any key to continue!\n");
getchar();
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);
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;
unsigned int tempval;
LcdBGInit(MODE_PAR_16BIT5551_240320);
GlibInit(MODE_PAR_16BIT5551_240320, BGBUFFER1);
printf("[64K COLOR(16bit/1pixel) Parallel Mode LCD TEST]\n");
GlibClearScr(0); // Fill the LCD panel with Black Color
LcdEnvidOnOff(1); // Enable ENVID Bit
getchar();
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);
printf("64K Color Parallel mode test 1. Press any key to continue!\n");
getchar();
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
printf("64K Color Parallel mode test 2. Press any key to continue!\n");
getchar();
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);
}
printf("64K Color Parallel mode test 3. Press any key to continue!\n");
getchar();
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);
}
printf("64K Color Parallel mode test 4. Press any key to continue!\n");
getchar();
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);
printf("64K Color Parallel mode test for Virtual Screen. Press any key[ijkm\\r]!\n");
MoveViewPort(MODE_PAR_16BIT5551_240320, BGBUFFER1);
LcdMoveViewPort(0, 0, MODE_PAR_16BIT5551_240320, BGBUFFER1);
LcdEnvidOnOff(0);
}
void Test_Lcd_PAR_24Bit_240320(void)
{
int i,j,k;
unsigned int tempval;
LcdBGInit(MODE_PAR_24BIT_240320);
GlibInit(MODE_PAR_24BIT_240320, BGBUFFER1);
printf("[256K COLOR(18bit/1pixel) Parallel Mode LCD TEST]\n");
GlibClearScr(0); // Fill the LCD panel with Black Color
LcdEnvidOnOff(1); // Enable ENVID Bit
getchar();
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,0xfcfcfc);
printf("256K Color Parallel mode test 1. Press any key to continue!\n");
getchar();
GlibClearScr(0); // Fill the LCD panel with Black Color
GlibFilledRectangle(0, 0, BG_XSIZE_240320/2-1, BG_YSIZE_240320/2-1, 0xfc0000); //red
GlibFilledRectangle(BG_XSIZE_240320/2, 0, BG_XSIZE_240320-1, BG_YSIZE_240320/2-1, 0xfc00);//green
GlibFilledRectangle(0, BG_YSIZE_240320/2, BG_XSIZE_240320/2-1, BG_YSIZE_240320-1,0xfc);//blue
GlibFilledRectangle(BG_XSIZE_240320/2, BG_YSIZE_240320/2, BG_XSIZE_240320-1, BG_YSIZE_240320-1,0xfcfcfc);//white
printf("256K Color Parallel mode test 2. Press any key to continue!\n");
getchar();
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 = ((85*((k>>4)%4))<<16) +((85*((k>>2)%4))<<8)+((85*(k%4)));
k++;
GlibFilledRectangle(i, j, i+15, j+15, tempval);
}
printf("256K Color Parallel mode test 3. Press any key to continue!\n");
getchar();
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 = ((85*((k>>4)%4))<<16) +((85*((k>>2)%4))<<8)+((85*(k%4)));
k++;
GlibFilledRectangle(i, j, i+9, j+9, tempval);
}
printf("256K Color Parallel mode test 4. Press any key to continue!\n");
getchar();
GlibClearScr(0); // Fill the LCD panel with Black Color
//First Quarter
GlibRectangle(0, 0, BG_XSIZE_240320-1, BG_YSIZE_240320-1, 0xfc0000); //red
GlibLine(0, 0, BG_XSIZE_240320-1, BG_YSIZE_240320-1, 0xcfc);//red
GlibLine(0, BG_YSIZE_240320-1, BG_XSIZE_240320-1, 0, 0xcfc);//red
//Second Quarter
GlibFilledRectangle(BG_XSIZE_240320, 0, BG_XSIZE_240320+29, 29, 0xfc0000);
GlibFilledRectangle(BG_VXSIZE_240320-30, 0, BG_VXSIZE_240320-1, 29, 0xfc00);
GlibFilledRectangle(BG_XSIZE_240320, BG_YSIZE_240320-30, BG_XSIZE_240320+29, BG_YSIZE_240320-1, 0xfc);
GlibFilledRectangle(BG_VXSIZE_240320-30, BG_YSIZE_240320-30, BG_VXSIZE_240320-1, BG_YSIZE_240320-1, 0xfcfcfc);
GlibRectangle(BG_XSIZE_240320, 0, BG_VXSIZE_240320-1, BG_YSIZE_240320-1, 0xfc0000);
GlibLine(BG_XSIZE_240320, 0, BG_VXSIZE_240320-1, BG_YSIZE_240320-1, 0xcfc);
GlibLine(BG_XSIZE_240320, BG_YSIZE_240320-1, BG_VXSIZE_240320-1, 0, 0xcfc);
//Third Quarter
GlibRectangle(0, BG_YSIZE_240320, BG_XSIZE_240320-1, BG_VYSIZE_240320-1, 0xfc0000);
GlibLine(0, BG_YSIZE_240320, BG_XSIZE_240320-1, BG_YSIZE_240320+BG_YSIZE_240320/2, 0xfcf000);
GlibLine(0, BG_VYSIZE_240320-1, BG_XSIZE_240320-1, BG_YSIZE_240320+BG_YSIZE_240320/2, 0xfcf000);
GlibLine(0, BG_YSIZE_240320+BG_YSIZE_240320/2, BG_XSIZE_240320-1, BG_YSIZE_240320, 0xfcf000);
GlibLine(0, BG_YSIZE_240320+BG_YSIZE_240320/2, BG_XSIZE_240320-1, BG_VYSIZE_240320-1, 0xfcf000);
//Fourth Quarter
GlibRectangle(BG_XSIZE_240320, BG_YSIZE_240320, BG_VXSIZE_240320-1, BG_VYSIZE_240320-1, 0xfc0000);
GlibLine(BG_XSIZE_240320, BG_YSIZE_240320, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_VYSIZE_240320-1, 0xfcf000);
GlibLine(BG_VXSIZE_240320-1, BG_YSIZE_240320, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_VYSIZE_240320-1, 0xfcf000);
GlibLine(BG_XSIZE_240320, BG_VYSIZE_240320-1, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_YSIZE_240320, 0xfcf000);
GlibLine(BG_VXSIZE_240320-1, BG_VYSIZE_240320-1, BG_XSIZE_240320+BG_XSIZE_240320/2, BG_YSIZE_240320, 0xfcf000);
printf("256K Color Parallel mode test for Virtual Screen. Press any key[ijkm\\r]!\n");
MoveViewPort(MODE_PAR_24BIT_240320, BGBUFFER1);
LcdMoveViewPort(0, 0, MODE_PAR_24BIT_240320, BGBUFFER1);
LcdEnvidOnOff(0);
}
void Test_Lcd_BGColorMap_240320(void)
{
unsigned int i,j,k;
unsigned int whichframebuffer;
// framecnt=0;
// LcdEnvidOnOff(0);
rSUBSRCPND|=BIT_SUB_LCD_VSYNC;
rSRCPND=BIT_LCD;
rINTPND=rINTPND;
pISR_LCD=(unsigned)Lcd_Int_DualBuffer;
rINTMSK &= ~(BIT_LCD);
rINTSUBMSK &= ~(BIT_SUB_LCD_VSYNC);
//LCD setting for background
LcdBGInit(MODE_PAR_16BIT565_240320);
//Glib initialization for proper display mode and framebuffer
GlibInit(MODE_PAR_16BIT565_240320, BGBUFFER1);
whichframebuffer=BGBUFFER1;
GlibClearScr(0); // Fill the LCD panel with Black Color
//Drawing Image on the first Framebuffer for Background
//First Quarter
k=0;
for(j=0; j<BG_YSIZE_240320; j++)
for(i=0; i<BG_XSIZE_240320; i++)
PutPixel(i,j,sghx600qvga16[k++]);
//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);
LcdEnableFrameInterrupt(FRAMESEL0_VSYNC, FRAMESEL1_NONE);
framecnt=0;
while(!Uart_GetKey()) {
while(framecnt!=60);
if(whichframebuffer==BGBUFFER1) {
LcdBGColorMap(1, 0xfc);
printf("Display is changed to Background COLOR MAP!\n");
whichframebuffer=BGCOLORMAP;
}
else if(whichframebuffer==BGCOLORMAP) {
// LcdSelectBuffer(BGBUFFER1);
LcdBGColorMap(0, 0xfc);
printf("Display is changed to BUFFER1!\n");
whichframebuffer=BGBUFFER1;
}
framecnt=0;
// rINTSUBMSK &= ~(BIT_SUB_LCD_VSYNC);
}
framecnt=0;
rINTSUBMSK|=BIT_SUB_LCD_VSYNC;
rINTMSK|=BIT_LCD;
LcdDisableFrameInterrupt();
printf("Press any key to continue\n");
getchar();
LcdBGColorMap(0,0);
}
void Test_Lcd_FGColorMap_240320(void)
{
unsigned int i,j,k;
unsigned int flag;
rSUBSRCPND|=BIT_SUB_LCD_VSYNC;
rSRCPND=BIT_LCD;
rINTPND=rINTPND;
pISR_LCD=(unsigned)Lcd_Int_DualBuffer;
rINTMSK &= ~(BIT_LCD);
rINTSUBMSK &= ~(BIT_SUB_LCD_VSYNC);
//LCD setting for background
LcdBGInit(MODE_PAR_16BIT565_240320);
GlibInit(MODE_PAR_16BIT565_240320, BGBUFFER1);
GlibClearScr(0); // Fill the LCD panel with Black Color
k=0;
for(j=0; j<BG_YSIZE_240320; j++)
for(i=0; i<BG_XSIZE_240320; i++)
PutPixel(i,j,sghx600qvga16[k++]);
//LCD setting for foreground
LcdFGInit(MODE_OSD_16BIT565_240320);
GlibInit(MODE_OSD_16BIT565_240320, FGBUFFER1);
GlibClearScr(0); // Fill the LCD panel with Black Color
k=0;
for(j=0; j<FG_YSIZE_240320; j++)
for(i=0; i<FG_XSIZE_240320; i++)
PutPixel(i,j, sghx600iqqvga16[k++]);
LcdOsdSelectFunction(OSD_BLENDING);
LcdOsdSetAlpha(0xff);
LcdOsdChangeCoordination(60,80,60+FG_XSIZE_240320-1, 80+FG_YSIZE_240320-1);
LcdOsdEnDiable(1);
LcdEnableFrameInterrupt(FRAMESEL0_VSYNC, FRAMESEL1_NONE);
framecnt=0;
flag=0;
while(!Uart_GetKey()) {
while(framecnt!=60);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -