关于TFTLCD...

2019-07-21 00:49发布

void LCD_ShowWord(u16 x0,u16 y0,u16 size,u16 num)
{
     u16 temp,start=y0;
u16  csize=0,r,d;

switch(size)
{
case 24:  
csize=72;  break;
case 32:
csize=128; break;
case 48:
csize=288; break;
}
    
    for(r=0;r<csize;r++)
    {
        if(size==24)
temp=asc2_2424[num][r];
else if(size==32)
temp=asc2_3232[num][r];
else if(size==48)
temp=asc2_4848[num][r];
else    return;

for(d=0;d<8;d++)
    {
if(temp&0x80)  LCD_Fast_DrawPoint(x0,y0,POINT_COLOR);
             else           LCD_Fast_DrawPoint(x0,y0,BLACK);
temp<<=1;

y0++;

             //if(y0>=lcddev.height) return; //超区域了
if((y0-start)==size)
{
y0=start;
x0++;
//if(x0>=lcddev.width)return; //超区域了
//break;
}
}
}
这段代码是我根据显示字符的那段改的,基本都没用动,我想用它来显示几个汉字,出现的结果是三个方块在那里一闪一闪的,扫出来的是一个黑块。 
这是什么原因,是扫描的不够快,还是我取字模有问题啊???   取模设置为顺向阴码逐列式;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
ricefat
1楼-- · 2019-07-21 05:44
取模方向要和画点方向一致
字体大小也得注意下
冷枫漠然
2楼-- · 2019-07-21 06:56
 精彩回答 2  元偷偷看……
ricefat
3楼-- · 2019-07-21 11:41
回复【3楼】冷枫漠然:
---------------------------------
单步调试下看看每个点绘制情况就知道程序运行对不对了
冷枫漠然
4楼-- · 2019-07-21 12:07
回复【4楼】ricefat:
---------------------------------
搞定了,原来的for循环中是t定义的是u8.但是我做的汉字库早已经超出了,所以不行,发生了重叠;   谢谢。
冷枫漠然
5楼-- · 2019-07-21 16:02
回复【5楼】冷枫漠然:
---------------------------------
这个是r   改过的,开始改的时候我用的那个函数里面    t定义成了u8.

一周热门 更多>