LI9341液晶屏 ,我自己写了显示汉字和图片的两个函数,单独使用都没问题,两个函数同时使用就白屏。

2019-10-12 14:42发布

显示汉字程序段
void LCD_Char_O2(u16 x, u16 y,u16 Color)
{      
#define MAX_CHAR_POSX (320-16)
#define MAX_CHAR_POSY (240-16)
    u8 temp, t, pos,i;   
    u16 Num;       
          u8 X=x ,Y=y;
    if(x > MAX_CHAR_POSX || y > MAX_CHAR_POSY)
        return;
           Set_direction(0);    //横屏扫描
    LCD_open_windows(x,y,16,16);     
                for(i=0;i<4;i++)  
                {               
    for (pos=0;pos<32;pos+=2)//一个汉字32个字节
    {                                
                        temp=ucsFNT1616[i][pos];
                        Num=temp<<8|ucsFNT1616[i][pos+1];//合并
                        for(t=0; t<16; t++)       
                        {               
               
                                if(Num&0x8000>>t)
                                {
                               
                                        LCD_ColorPoint(X++,Y,Color);
                                }
                                else
                                {
                                        LCD_ColorPoint(X++,Y,BLACK);
                                }
                        }
                        X=x;               
                        LCD_open_windows(X,Y++,1,1);
                }

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