OpenEdv-开源电子网

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

lcd字体显示设置问题

[复制链接]

20

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2012-3-29
在线时间
0 小时
发表于 2012-4-11 14:12:54 | 显示全部楼层 |阅读模式
 我自己想做一种字体大小是14*7的,我也按照不完全手册里面的做法去做的 但是最终显示出来的结果和我设置的字符不一样,下面的这个是我想要显示的结果LCD_ShowString(30,50,"2012.10.12"); 但是显示出来的结果是4234032034 这是为什么 虽然原子大哥提示了一下debug一下看看 但是还是没有想明白,请原子大哥讲解一下谢谢
 我在例程上修改的 如下
void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)
{  
#if USE_HORIZONTAL==1
#define MAX_CHAR_POSX 312
#define MAX_CHAR_POSY 232 
#else     
#define MAX_CHAR_POSX 232
#define MAX_CHAR_POSY 312
#endif 
    u8 temp;
    u8 pos,t;
u16 x0=x;
u16 colortemp=POINT_COLOR;      
    if(x>MAX_CHAR_POSX||y>MAX_CHAR_POSY)return;    
//设置窗口
  
num=num-' ';//得到偏移后的值
if(!mode) //非叠加方式
{
for(pos=0;pos<size;pos++)
{
if(size==12)temp=asc2_1206[num][pos];//调用1206字体
else  //temp=asc2_1608[num][pos];
temp=asc2_1407[num][pos];  
 //if(size==16)temp=asc2_1608[num][pos]; //调用1608字体
for(t=0;t<size/2;t++)
   {                 
       if(temp&0x01)POINT_COLOR=colortemp;
else POINT_COLOR=BACK_COLOR;
LCD_DrawPoint(x,y);
temp>>=1; 
x++;  
   }
x=x0;
y++;
}
}else//叠加方式
{
for(pos=0;pos<size;pos++)
{
if(size==12)temp=asc2_1206[num][pos];//调用1206字体
else  //temp=asc2_1608[num][pos];
temp=asc2_1407[num][pos];  
//if(size==16)temp=asc2_1608[num][pos];
//if(size==14)temp=asc2_1407[num][pos];   //调用1608字体
for(t=0;t<size/2;t++)
   {                 
       if(temp&0x01)LCD_DrawPoint(x+t,y+pos);//画一个点     
       temp>>=1; 
   }
}
}
POINT_COLOR=colortemp;        
}
void LCD_ShowString(u16 x,u16 y,const u8 *p)
{         
    while(*p!='\0')
    {       
        if(x>MAX_CHAR_POSX){x=0;y+=16;}
        if(y>MAX_CHAR_POSY){y=x=0;LCD_Clear(WHITE);}
        LCD_ShowChar(x,y,*p,14,0);
        x+=8;
        p++;
    }  
}我就改了这两个地方,其他什么也没动
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-11 14:21:00 | 显示全部楼层
你看看你的取模方式和我的是不是一致的.
先显示一个数字看看.不行的话,显示字符串也是不行的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

44

主题

260

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2012-3-8
在线时间
29 小时
发表于 2012-4-11 21:24:53 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥问你个问题,字库文件的后缀应该是FON对吧,为什么用软件生成的字库后缀是DZK?莫非直接改后缀就行了?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-11 22:01:35 | 显示全部楼层
回复【3楼】以枫之名:
---------------------------------
我的就是改后缀的,这个和WINDOWS的不通用的!!!
我只是改了名字。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 11:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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