OpenEdv-开源电子网

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

LCD_ShowChar函数有个不明白

[复制链接]

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-12-4
在线时间
0 小时
发表于 2015-12-4 21:23:24 | 显示全部楼层 |阅读模式
5金钱
 for(t=0;t<size;t++)
   {   
if(size==12)temp=asc2_1206[num][t];  //?÷??1206×???
else temp=asc2_1608[num][t]; //?÷??1608×???                          
       for(t1=0;t1<8;t1++)
{    
if(temp&0x80)POINT_COLOR=colortemp;
else POINT_COLOR=BACK_COLOR;
LCD_DrawPoint(x,y);
temp<<=1;

  y++;                  这里为什么我感觉是x++呢?,读取一个字符不是应该是16*8个点吗(如果选的16的size),在第二个for循环中就是选择了第一行了,先从第一行的8个点从左向右吗,这个y++后,不是调到第二行的第一个点了吗?
if(y>=lcddev.height){POINT_COLOR=colortemp;return;}//?????ò??
if((y-y0)==size)
{
y=y0;
x++;
if(x>=lcddev.width){POINT_COLOR=colortemp;return;}//?????ò??
break;
}
   }


问题如题中红字  ,希望有人帮忙解答一下 ,谢谢了!

最佳答案

查看完整内容[请看2#楼]

回复【4楼】seeyou2016: --------------------------------- 额  不好意思   之前看错了    上面那个是逐列式取模的    打一个点  y++一次  直到显示完1列    然后x++  y坐标回到y0
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-12-4 21:23:25 | 显示全部楼层
回复【4楼】seeyou2016:
---------------------------------
额  不好意思   之前看错了    上面那个是逐列式取模的    打一个点  y++一次  直到显示完1列    然后x++  y坐标回到y0
回复

使用道具 举报

0

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2015-1-16
在线时间
4 小时
发表于 2015-12-4 22:46:11 | 显示全部楼层
是怎么加,这个要看你字库是怎么扫描来定的
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-12-4 23:15:31 | 显示全部楼层
这个根据取模方式来的   上面用的行列式方式    沿x方向取模的   如果是沿y方向取模  就该用x++
第二个for循环  就是你说的意思   写完 一个字节  跳到下一行开头
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-12-4
在线时间
0 小时
 楼主| 发表于 2015-12-5 09:54:53 | 显示全部楼层
回复【3楼】lycreturn:
---------------------------------
沿x方向取模? 就是通过这个temp&0x80和temp《1,把第一个字符从高位向低位依次LCD_DrawPoint。
如果第一次y++后,后面的两个if应该都不成立吧,返回for循环,t1=1时,执行这个LCD_DrawPoint(x,y+1)了?这个不就是是调到下一行了吗?这里我看不懂
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-12-4
在线时间
0 小时
 楼主| 发表于 2015-12-5 10:31:47 | 显示全部楼层
回复【5楼】lycreturn:
---------------------------------
回复【5楼】lycreturn:
---------------------------------
然而一个列应该是16个点啊,  再说asc2_1608[95][12]数组里面都是按行写的吧
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-12-4
在线时间
0 小时
 楼主| 发表于 2015-12-5 11:14:05 | 显示全部楼层
回复【5楼】lycreturn:
---------------------------------
哦哦,这个asc2_1608[95][12]好像是按列写的。。。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 01:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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