OpenEdv-开源电子网

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

9341驱动的TFT无法完全显示8040号字库ASCII码,求大神指点

[复制链接]

3

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-8-31
在线时间
56 小时
发表于 2017-10-11 15:18:41 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 634401387 于 2017-10-11 17:54 编辑

9341驱动的TFT无法完全显示8040号字库ASCII码,求大神指点,症状如图,用的是库例程

void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)
{                                                            
    u8 temp,t1,t;
        u16 y0=y;
        u16 colortemp=POINT_COLOR;   
        u8 csize=(size/8+((size%8)?1:0))*(size/2);                  
        num=num-' ';
        if(!mode)
        {
            for(t=0;t<csize;t++)
            {   
                        if(size==63) temp=asc2_6331[num][t];       
                        //if(size==80) temp=asc2_8040[num][t];       
                for(t1=0;t1<8;t1++)
                        {                            
                        if(temp&0x80)POINT_COLOR=colortemp;
                                else POINT_COLOR=BACK_COLOR;
                                LCD_DrawPoint(x,y);       
                                temp<<=1;
                                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;
                                }
                        }           
            }
        }else
        {
            for(t=0;t<size;t++)
            {          
                        if(size==63) temp=asc2_6331[num][t];
                        //if(size==80) temp=asc2_8040[num][t];                               
                for(t1=0;t1<8;t1++)
                        {                            
                        if(temp&0x80)LCD_DrawPoint(x,y);
                                temp<<=1;
                                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;
                                }
                        }           
            }     
        }
        POINT_COLOR=colortemp;                                          
}

9341驱动的TFT无法完全显示8040号字库ASCII码

9341驱动的TFT无法完全显示8040号字库ASCII码

最佳答案

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

原来是定义变量有问题
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-8-31
在线时间
56 小时
 楼主| 发表于 2017-10-11 15:18:42 | 显示全部楼层
原来是定义变量有问题
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-10-11 16:00:57 | 显示全部楼层
显示函数贴代码
回复

使用道具 举报

3

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-8-31
在线时间
56 小时
 楼主| 发表于 2017-10-11 19:22:56 | 显示全部楼层

感谢八度老师的热心帮忙
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-10-11 20:21:33 | 显示全部楼层
634401387 发表于 2017-10-11 19:22
感谢八度老师的热心帮忙

没帮什么忙
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 16:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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