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);
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
笑颜
1楼-- · 2019-07-16 11:44
自己先顶一下,请高手指教!非常感谢!
笑颜
2楼-- · 2019-07-16 13:32
现在使用以上函数可以实现16*16的汉字,但是48*48的不行,这是怎么回事呢?
fanfan6688
3楼-- · 2019-07-16 17:17
顶一下
syq622827
4楼-- · 2019-07-16 23:11
 精彩回答 2  元偷偷看……
crl0303
5楼-- · 2019-07-17 04:21
显示汉字的数组是什么样的啊???求解,,,
翼年丶兮夜
6楼-- · 2019-07-17 04:53
也遇到这种情况

一周热门 更多>