while(font_init()) //¼ì²é×Ö¿â
{
UPD:
POINT_COLOR=RED;
LCD_ShowNum(30,230,font_init(),8);
LCD_Clear(WHITE); //ÇåÆÁ
POINT_COLOR=RED; //ÉèÖÃ×ÖÌåΪºìÉ«
LCD_ShowString(30,50,"Explorer STM32F4");
while(SD_Init()) //¼ì²âSD¿¨
{
LCD_ShowString(30,70,"SD Card Failed!");
delay_ms(200);
LCD_Fill(30,70,200+30,70+16,WHITE);
delay_ms(200);
}
LCD_ShowString(30,70,"SD Card OK");
LCD_ShowString(30,90,"Font Updating...");
key=update_font(20,110,16,"0:");//¸üÐÂ×Ö¿â
while(key)//¸üÐÂʧ°Ü
{
LCD_ShowString(30,110,"Font Update Failed!");
delay_ms(200);
LCD_Fill(20,110,200+20,110+16,WHITE);
delay_ms(200);
}
LCD_ShowString(30,110,"Font Update Success! ");
// break;
delay_ms(1500);
LCD_Clear(WHITE);//ÇåÆÁ
}
汉字更新字库实验一直在上面那个while循环里边,出不来,经过在线调试,
//³õʼ»¯×ÖÌå
//·µ»ØÖµ:0,×Ö¿âÍêºÃ.
// ÆäËû,×ֿⶪʧ
u8 font_init(void)
{
u8 t=0;
W25QXX_Init();
while(t<10) //&Aacute;&not;&ETH;&oslash;&para;&Aacute;&Egrave;&iexcl;10&acute;&Icirc;,&para;&frac14;&Ecirc;&Ccedil;&acute;í&Icirc;ó,&Euml;&micro;&Atilde;÷&Egrave;·&Ecirc;&micro;&Ecirc;&Ccedil;&Oacute;&ETH;&Icirc;&Ecirc;&Igrave;&acirc;,&micro;&Atilde;&cedil;ü&ETH;&Acirc;×&Ouml;&iquest;&acirc;&Aacute;&Euml;
{
t++;
W25QXX_Read((u8*)&ftinfo,FONTINFOADDR,sizeof(ftinfo));//&para;&Aacute;&sup3;&ouml;ftinfo&frac12;á&sup1;&sup1;&Igrave;&aring;&Ecirc;&yacute;&frac34;&Yacute;
if(ftinfo.fontok==0XAA)break;
delay_ms(20);
}
if(ftinfo.fontok!=0XAA)return 1;
return 0;
}发现原因是这个函数返回值是1,目前的调试情况是能显示出汉字更新成功,但是又会回到那个上面那个while循环里边,重新更新,如果强制跳出循环,仍然不能显示汉字,其他都能显示,求各位大神帮帮忙,弄了好几天了,一直不能显示汉字。。。。。。。 |