📄 lcd.c
字号:
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_16BIT5551_240320, BGBUFFER1);
LcdMoveViewPort(0, 0, MODE_PAR_16BIT5551_240320, BGBUFFER1);
LcdEnvidOnOff(0);
}
void Test_Lcd_PAR_18Bit_240320(void)
{
int i,j,k;
U32 tempval;
#ifdef LTS222
InitLDI();
#endif
LcdBGInit(MODE_PAR_18BIT_240320);
GlibInit(MODE_PAR_18BIT_240320, BGBUFFER1);
Uart_Printf("[256K COLOR(18bit/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,0xfcfcfc);
Uart_Printf("256K 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, 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
Uart_Printf("256K 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 = ((85*((k>>4)%4))<<16) +((85*((k>>2)%4))<<8)+((85*(k%4)));
k++;
GlibFilledRectangle(i, j, i+15, j+15, tempval);
}
Uart_Printf("256K 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 = ((85*((k>>4)%4))<<16) +((85*((k>>2)%4))<<8)+((85*(k%4)));
k++;
GlibFilledRectangle(i, j, i+9, j+9, tempval);
}
Uart_Printf("256K 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, 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);
Uart_Printf("256K Color Parallel mode test for Virtual Screen. Press any key[ijkm\\r]!\n");
MoveViewPort(MODE_PAR_18BIT_240320, BGBUFFER1);
LcdMoveViewPort(0, 0, MODE_PAR_18BIT_240320, BGBUFFER1);
LcdEnvidOnOff(0);
}
void Test_Lcd_BGColorMap_240320(void)
{
U32 i,j,k;
U32 whichframebuffer;
// framecnt=0;
// LcdEnvidOnOff(0);
rSUBSRCPND|=BIT_SUB_DISP_FRAME;
rSRCPND=BIT_LCD_POST;
rINTPND=rINTPND;
pISR_LCD_POST=(unsigned)Lcd_Int_DualBuffer;
rINTMSK &= ~(BIT_LCD_POST);
rINTSUBMSK &= ~(BIT_SUB_DISP_FRAME);
//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);
Uart_Printf("Display is changed to Background COLOR MAP!\n");
whichframebuffer=BGCOLORMAP;
}
else if(whichframebuffer==BGCOLORMAP) {
// LcdSelectBuffer(BGBUFFER1);
LcdBGColorMap(0, 0xfc);
Uart_Printf("Display is changed to BUFFER1!\n");
whichframebuffer=BGBUFFER1;
}
framecnt=0;
// rINTSUBMSK &= ~(BIT_SUB_DISP_FRAME);
}
framecnt=0;
rINTSUBMSK|=BIT_SUB_DISP_FRAME;
rINTMSK|=BIT_LCD_POST;
LcdDisableFrameInterrupt();
Uart_Printf("Press any key to continue\n");
Uart_Getch();
LcdBGColorMap(0,0);
}
void Test_Lcd_FGColorMap_240320(void)
{
U32 i,j,k;
U32 flag;
rSUBSRCPND|=BIT_SUB_DISP_FRAME;
rSRCPND=BIT_LCD_POST;
rINTPND=rINTPND;
pISR_LCD_POST=(unsigned)Lcd_Int_DualBuffer;
rINTMSK &= ~(BIT_LCD_POST);
rINTSUBMSK &= ~(BIT_SUB_DISP_FRAME);
//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);
if(flag==0) {
LcdFGColorMap(1, 0xfc);
Uart_Printf("Foreground Color Map is enabled\n");
flag=1;
}
else {
LcdFGColorMap(0, 0xfc);
flag=0;
Uart_Printf("Foreground Color Map is disabled\n");
}
framecnt=0;
}
rINTSUBMSK|=BIT_SUB_DISP_FRAME;
rINTMSK|=BIT_LCD_POST;
LcdDisableFrameInterrupt();
Uart_Printf("Press any key to continue\n");
Uart_Getch();
LcdFGColorMap(0, 0);
LcdOsdEnDiable(0);
}
void Test_Osd_240320_Blending(void)
{
S32 alpha;
U32 i,j,k;
U32 flag;
S32 topx, topy, botx, boty;
U32 key;
Uart_Printf("OSD Blend Test!!\n");
Uart_Printf("0: 8bpp Palette, 1: 8bpp Non-palette\n");
Uart_Printf("2: 16bpp 551, 3: 16bpp 565\n");
Uart_Printf("4: 18bpp\n");
Uart_Printf("Select bpp type:");
key=Uart_GetIntNum();
switch(key) {
case 0:
PaletteInit(PAL_565_8BPPBG); // Initialize 256 palette
LcdBGInit(MODE_PAR_8BIT_240320);
GlibInit(MODE_PAR_8BIT_240320, BGBUFFER1);
k=0;
for(j=0; j<BG_YSIZE_240320; j++)
for(i=0; i<BG_XSIZE_240320; i++)
PutPixel(i,j,DEMO256[k++]);
PaletteInit(PAL_565_8BPPFG); // Initialize 256 palette
LcdFGInit(MODE_OSD_8BIT_240320);
GlibInit(MODE_OSD_8BIT_240320, FGBUFFER1);
GlibFilledRectangle(0, 0, FG_XSIZE_240320/2-1, FG_YSIZE_240320/2-1, 0x0);
GlibFilledRectangle(FG_XSIZE_240320/2, 0, FG_XSIZE_240320-1, FG_YSIZE_240320/2-1, 0x5f);
GlibFilledRectangle(0, FG_YSIZE_240320/2, FG_XSIZE_240320/2-1, FG_YSIZE_240320-1, 0xaf);
GlibFilledRectangle(FG_XSIZE_240320/2, FG_YSIZE_240320/2, FG_XSIZE_240320-1, FG_YSIZE_240320-1, 0xff);
break;
case 1:
break;
case 2:
LcdBGInit(MODE_PAR_16BIT5551_240320);
GlibInit(MODE_PAR_16BIT5551_240320, BGBUFFER1);
k=0;
for(j=0; j<BG_YSIZE_240320; j++)
for(i=0; i<BG_XSIZE_240320; i++)
PutPixel(i,j,sghx600qvga16[k++]);
LcdFGInit(MODE_OSD_16BIT5551_240320);
GlibInit(MODE_OSD_16BIT5551_240320, FGBUFFER1);
k=0;
for(j=0; j<FG_YSIZE_240320; j++)
for(i=0; i<FG_XSIZE_240320; i++)
PutPixel(i,j, sghx600iqqvga16[k++]);
break;
case 3:
LcdBGInit(MODE_PAR_16BIT565_240320);
GlibInit(MODE_PAR_16BIT565_240320, BGBUFFER1);
k=0;
for(j=0; j<BG_YSIZE_240320; j++)
for(i=0; i<BG_XSIZE_240320; i++)
PutPixel(i,j,sghx600qvga16[k++]);
LcdFGInit(MODE_OSD_16BIT565_240320);
GlibInit(MODE_OSD_16BIT565_240320, FGBUFFER1);
k=0;
for(j=0; j<FG_YSIZE_240320; j++)
for(i=0; i<FG_XSIZE_240320; i++)
PutPixel(i,j, sghx600iqqvga16[k++]);
break;
case 4:
default:
LcdBGInit(MODE_PAR_18BIT_240320);
GlibInit(MODE_PAR_18BIT_240320, BGBUFFER1);
k=0;
for(j=0; j<BG_YSIZE_240320; j++)
for(i=0; i<BG_XSIZE_240320; i++)
PutPixel(i,j,sghx600qvga18[k++]);
LcdFGInit(MODE_OSD_18BIT_240320);
GlibInit(MODE_OSD_18BIT_240320, FGBUFFER1);
k=0;
for(j=0; j<FG_YSIZE_240320; j++)
for(i=0; i<FG_XSIZE_240320; i++)
PutPixel(i,j, sghx600iqqvga18[k++]);
break;
}
Uart_Printf("\n");
//avoid unexpected frame sync interrupt.
rSUBSRCPND|=BIT_SUB_DISP_FRAME;
rSRCPND=BIT_LCD_POST;
rINTPND=rINTPND;
pISR_LCD_POST=(unsigned)Lcd_Int_DualBuffer;
rINTMSK &= ~(BIT_LCD_POST);
rINTSUBMSK &= ~(BIT_SUB_DISP_FRAME);
LcdOsdSelectFunction(OSD_BLENDING);
LcdOsdSetAlpha(0);
LcdOsdEnDiable(1);
LcdEnableFrameInterrupt(FRAMESEL0_VSYNC, FRAMESEL1_NONE);
framecnt=0;
alpha=0;
flag=0;
topx=topy=0;
botx=FG_XSIZE_240320-1;
boty=FG_YSIZE_240320-1;
while(!Uart_GetKey()) {
while(framecnt!=5);
LcdOsdSetAlpha((U32)alpha);
LcdOsdChangeCoordination((U32)topx, (U32)topy, (U32)botx, (U32)boty);
//LcdOsdEnDiable(toggle);
framecnt=0;
alpha+=5;
if(alpha>=255) alpha=50;
if(flag==0) {
topx+=4;
botx+=4;
}
if(flag==1) {
topx -=4;
botx -=4;
}
if(botx>=BG_XSIZE_240320-1) {
flag=1;
topy +=4;
boty +=4;
}
if(topx<=0) {
flag=0;
topy+=4;
boty+=4;
}
if(botx>=BG_XSIZE_240320-1 && boty >=BG_YSIZE_240320-1) {
topx=topy=0;
botx=FG_XSIZE_240320-1;
boty=FG_YSIZE_240320-1;
flag=0;
}
Uart_Printf("%d, %d, %d, %d, @0x%x\n", topx,topy, botx, boty, rLCDOSD1&0xff);
}
framecnt=0;
rINTSUBMSK|=BIT_SUB_DISP_FRAME;
rINTMSK|=BIT_LCD_POST;
LcdDisableFrameInterrupt();
Uart_Printf("Press any key to continue\n");
Uart_Getch();
LcdOsdEnDiable(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -