我用旗舰版的,自己试着在做个东西。是FM和MP3的结合体,但是在做界面的时候,出现了点问题,所以后面也没做下去。我的问题是这样的:目的是在旗舰板子上的TFT屏幕上显示信息,开机进入后,在TFT屏幕矩形坐标(0,0,240,100)区域显示字符MEDIA PLAYER 。这个区域始终不变(无论是在FM还是MP3模式下)。 矩形坐标(0,101,240,320)区域显示FM和MP3的界面,通过一个按键切换界面和功能,但是总不得要领。我自己写的函数是这样的你们帮我看看是不是用这样的,
int main()
{
u8 x=0;
delay_init();
NVIC_Configuration();
LED_Init();
LCD_Init();
KEY_Init();
POINT_COLOR=BLACK;
BACK_COLOR=WHITE;
LCD_DrawRectangle(0, 0, 240, 320);
LCD_DrawLine(0,100,240,100);
LCD_ShowString(50,40,100,16,16,"MEDIA PLAYER");
while(1)
{
if(KEY2==0)
{
delay_ms(10);
if(KEY2==0)
while(!KEY2);
x++;
if(x==2)x=0;
}
switch(x)
{
case 0:
xxxxxxxxxxxxxxx(下面的那个区域填充颜色函数)
LCD_ShowString(88,132,80,16,16,"RADIO:FM");
LCD_ShowString(68,180,120,16,16,"Freg: 87.5MHz");
break;
case 1:
xxxxxxxxxxxxxxxx(下面的那个区域填充颜色函数)
LCD_ShowString(88,132,80,16,16,"MP3 PLAYER");
LCD_ShowString(68,180,120,16,16,"S:001");
break;
}
}
}
这样写界面是可以换,但是当FM切换到MP3的时候FM的字还留在上面,我试过void LCD_Color_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 *color)这个区域填充颜色的函数,但是只要把这个函数加进CASE0和1里面屏幕就就开始乱闪。我没法了,希望大家帮下我,解惑下!
还有就是,如果要把FM和MP3功能添加进去是不是也添加在CASE里面?
|