ARM技术william hill官网
直播中

赵辉

12年用户 31经验值
擅长:模拟技术
私信 关注
[问答]

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

请教各位大侠,我用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,选择字符颜色(根据调色板)
        {
          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);
}

回帖(6)

赵辉

2012-5-31 15:43:18
自己先顶一下,请高手指教!非常感谢!
举报

赵辉

2012-6-2 20:04:57
现在使用以上函数可以实现16*16的汉字,但是48*48的不行,这是怎么回事呢?
举报

fanfan6688

2012-6-3 08:40:29
顶一下
举报

syq622827

2013-3-30 11:22:02
您好,请问你TFT显示48*48的字体,只显示一半的问题解决了吗?请教您一下,我的也出现这样的问题了。
举报

crl0303

2014-3-21 13:01:48
显示汉字的数组是什么样的啊???求解,,,
举报

小小飞

2015-9-29 23:39:36
也遇到这种情况
举报

更多回帖

发帖
×
20
完善资料,
赚取积分