硬汉嵌入式论坛

 找回密码
 立即注册
查看: 6679|回复: 3
收起左侧

[有问必答] TFT显示汉字只能显示一半,这是什么问题呢?

[复制链接]

1

主题

2

回帖

1

积分

新手上路

积分
1
发表于 2012-5-31 15:37:37 | 显示全部楼层 |阅读模式
请教各位大侠,我用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);
}
回复

使用道具 举报

1

主题

2

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2012-6-2 20:03:25 | 显示全部楼层
回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
发表于 2012-6-2 22:11:49 | 显示全部楼层
检查下你的字库点阵数据内容是否正确。你可以人为将 const unsigned char *pHz   指向的缓冲区填充为0xFF, 先看下能否显示方块。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-11 22:31 , Processed in 0.219812 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表