这个例子里面是打出字符,然后背景变化。
美中不足的是,字符那几行的背景总是灰色的,不会变化。查找源代码发现,每次字符的背景默认都是灰色的。于是优化如下:
switch(x)
{
case 0 CD_Clear(WHITE);BACK_COLOR=WHITE;break;
case 1 CD_Clear(BLACK);BACK_COLOR=BLACK;break;
case 2 CD_Clear(BLUE);BACK_COLOR=BLUE;break;
case 3 CD_Clear(RED);BACK_COLOR=RED;break;
case 4 CD_Clear(MAGENTA);BACK_COLOR=MAGENTA;break;
case 5 CD_Clear(GREEN);BACK_COLOR=GREEN;break;
case 6 CD_Clear(CYAN);BACK_COLOR=CYAN;break;
case 7 CD_Clear(YELLOW);BACK_COLOR=YELLOW;break;
case 8 CD_Clear(BRRED);BACK_COLOR=BRRED;break;
case 9 CD_Clear(GRAY);BACK_COLOR=GRAY;break;
case 10:LCD_Clear(LGRAY);BACK_COLOR=LGRAY;break;
case 11:LCD_Clear(BROWN);BACK_COLOR=BROWN;break;
}
其实就是每行将背景颜色重新复制,烧录进去后,发现字符背景跟着空白处背景一起变化了。但还有一个问题就是,当背景红色的时候,字符看不到了,于是乎,在  OINT_COLOR=RED;后面加了一条
if (x==3) POINT_COLOR=BLACK;
意思是当背景是红色的时候,字符为黑色,编译通过。
感觉良好
|