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) //Á¬Ðø¶ÁÈ¡10´Î,¶¼ÊÇ´íÎó,˵Ã÷ȷʵÊÇÓÐÎÊÌâ,µÃ¸üÐÂ×Ö¿âÁË
{
t++;
W25QXX_Read((u8*)&ftinfo,FONTINFOADDR,sizeof(ftinfo));//¶Á³öftinfo½á¹¹ÌåÊý¾Ý
if(ftinfo.fontok==0XAA)break;
delay_ms(20);
}
if(ftinfo.fontok!=0XAA)return 1;
return 0;
}发现原因是这个函数返回值是1,目前的调试情况是能显示出汉字更新成功,但是又会回到那个上面那个while循环里边,重新更新,如果强制跳出循环,仍然不能显示汉字,其他都能显示,求各位大神帮帮忙,弄了好几天了,一直不能显示汉字。。。。。。。
一周热门 更多>