OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6087|回复: 3

LCD汉字显示自己编写的点阵32位Test_Show_CH_Font32函数

[复制链接]

18

主题

158

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
400
金钱
400
注册时间
2011-11-23
在线时间
0 小时
发表于 2011-12-7 15:54:46 | 显示全部楼层 |阅读模式
void Test_Show_CH_Font32(u16 x,u16 y,u8 index,u16 color)
{         
 u8 temp,t,t1;
 u16 y0=y;      
    for(t=0;t<128;t++)//每个32*32的汉字点阵 有128个字节
    {  
          if(t<32)temp=tfont32[index*3][t];           //前32个字节
         else if(t<64)temp=tfont32[index*3+1][t-32]; //中32个字节
         else if(t<96)temp=tfont32[index*3+2][t-64];                  
         else temp=tfont32[index*3+3][t-96];         //后32个字节
         for(t1=0;t1<8;t1++)
        {
            if(temp&0x80)LCD_Draw_Point(x,y,color);//画实心点
            else LCD_Draw_Point(x,y,BACK_COLOR);   //画空白点(使用背景色)
            temp<<=1;
            y++;
           if((y-y0)==32)
          {
             y=y0;
             x++;
            break;
          }
       }   
    }         
}
我想显示点阵为32的汉字,占用字节在32*32位,我的测试汉字函数如下

void TEST_FONT(void)
{
     u8 t;
     u8 x;
     x=50;
     for(t=0;t<3;t++)//6个汉字
    {
         Test_Show_CH_Font32(x,90,t,RED);
         x+=32;
    }
}
结果在屏幕上显示的“模式一”三个大字是交错的~,希望哪位大侠帮帮忙,或者原子大哥帮帮忙,不甚感激~
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

18

主题

158

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
400
金钱
400
注册时间
2011-11-23
在线时间
0 小时
 楼主| 发表于 2011-12-7 15:58:59 | 显示全部楼层
回复【楼主位】shuilian007:
---------------------------------
已经解决,一个很低级的错误~
回复 支持 反对

使用道具 举报

头像被屏蔽

38

主题

382

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2012-12-5
在线时间
19 小时
发表于 2014-2-24 10:21:48 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2015-2-7
在线时间
4 小时
发表于 2019-2-21 21:55:22 | 显示全部楼层
怎么解决的兄台,能否说一下
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 14:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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