OpenEdv-开源电子网

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

菜鸟问下LCD显示的问题 就是显示字符几句函数。。麻烦了

[复制链接]

10

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2012-3-2
在线时间
1 小时
发表于 2012-4-10 10:47:34 | 显示全部楼层 |阅读模式
就是下面这个函数

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]; //调用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]; //调用1608字体
for(t=0;t<size/2;t++)
   {                 
       if(temp&0x01)LCD_DrawPoint(x+t,y+pos);//画一个点     
       temp>>=1; 
   }
}
}
POINT_COLOR=colortemp;        
}
问题1:我的理解是一个字符比如s 会保存在一个数组矩阵里面 挨个扫描 如果需要画点就画POINT_COLOR下去 如果不是就画背景颜色BACK_COLOR点上去 我的理解对么?
问题2:num=num-' ';//得到偏移后的值这句话没懂 导致
if(size==12)temp=asc2_1206[num][pos];//调用1206字体
else temp=asc2_1608[num][pos];  //调用1608字体
这两句也没看懂。。。。 能不能说下 num=num-' ';//得到偏移后的值 什么意思
问题3:最后就是为什么第二个循环直接只有高度的一半?pos<size   而t<size/2  高度扫描的尺寸是size 宽度只有一半 还是说字体就是这样子规定的?
可是我把第二个size/2变成size 为什么显示没改变啊。。。。
投胎是个技术活
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-10 11:56:50 | 显示全部楼层
回复【楼主位】逍遥景天:
---------------------------------
1,对.
2,你了解一下ASCII码,然后在看看我们的ASCII点整数组,就知道了.
3,字符的宽度只有高度的一半.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

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

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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