TFT显示汉字,但每个汉字只显示一半,这是什么问题?

2019-07-16 08:46发布

请教各位大侠,我用STM32控制TFT显示汉字,以下为汉字显示函数,但是只能显示汉字的右半边,左半边不显示,这是什么问题呢?我估计不会是大问题,指令应该成功写进寄存器了,是不是汉字显示函数有什么问题啊?求指教!感激不尽!
//显示一个汉字48*48的(需取字模)
void ILI9325_DisplayHanZi_48(unsigned short x,unsigned short y,const unsigned char *pHz,u16 WordColor,u16 BackColor)
{unsigned char i,j,k;
  unsigned int str;
  for (i=0;i<48;i++)//因为一个字符的高度为48
  {
    ili9320_SetCursor(x,y+i);
    for(k=0;k<6;k=k+2)//48=3*16
    {
      str = ((unsigned int)(*(pHz + i*6+k)<<8))|(*(pHz+i*6+1+k));
     for (j=0;j<16;j++)
      {
        if ( str & (0x8000>>j) )//0x80>>j,选择字符颜 {MOD}(根据调 {MOD}板)
        {
          ili9320_SetPoint(x+j,y+i,WordColor);
        }
         else  
        {
          ili9320_SetPoint(x+j,y+i,BackColor);
        }                                              
      }  
    }
  }
}
其中,void ili9320_SetPoint(u16 x,u16 y,u16 point)
{
  if ( (x>320)||(y>240) ) return;
  ili9320_SetCursor(x,y);
  LCD_WriteRAM_Prepare();
  LCD_WriteRAM(point);
}

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