LCD无法自动换行

2019-10-16 07:13发布

这段代码是原子写的为甚下到板子上没办法自动换行
void Show_Str(u16 x,u16 y,u16 width,u16 height,u8*str,u8 size,u8 mode)
{                                       
        u16 x0=x;
        u16 y0=y;                                                                    
    u8 bHz=0;     //×Ö·û»òÕßÖDÎÄ                                                                                              
    while(*str!=0)//êy¾YÎ′½áêø
    {
        if(!bHz)
        {
                if(*str>0x80)bHz=1;//ÖDÎÄ
                else              //×Ö·û
                {      
                if(x>(x0+width-size/2))//»»DD
                                {                                  
                                        y+=size;
                                        x=x0;          
                                }                                                            
                        if(y>(y0+height-size))break;//Ô½½ç·μ»Ø      
                        if(*str==13)//»»DD·ûoÅ
                        {         
                            y+=size;
                                        x=x0;
                            str++;
                        }  
                        else LCD_ShowChar(x,y,*str,size,mode);//óDD§2¿·ÖD′èë
                                str++;
                        x+=size/2; //×Ö·û,Îaè«×ÖμÄò»°ë
                }
        }else//ÖDÎÄ
        {     
            bHz=0;//óDoo×Ö¿a   
            if(x>(x0+width-size))//»»DD
                        {            
                                y+=size;
                                x=x0;                  
                        }
                if(y>(y0+height-size))break;//Ô½½ç·μ»Ø                                                       
                Show_Font(x,y,str,size,mode); //ÏÔê¾Õa¸öoo×Ö,¿ÕDÄÏÔê¾
                str+=2;
                x+=size;//ÏÂò»¸öoo×ÖÆ«òÆ            
        }                                                 
    }   
}                                            

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。