想在LCD上显示较大的数字,这个函数应怎么修改才行?

2019-07-21 06:05发布

本帖最后由 rjx007 于 2018-2-10 13:04 编辑

想在LCD上显示尺寸较大的数字,但经试验,这个函数最大只能显示24*12的数字,现在想显示如48*24,64*32的数字,该怎么修改这个函数才能行?或能提供一个能显示大字符的函数也可。


//显示数字,高位为0,则不显示
//x,y :起点坐标         
//len :数字的位数
//size:字体大小
//color:颜 {MOD}
//num:数值(0~4294967295);         
void LCD_ShowNum(u16 x,u16 y,u32 num,u8 len,u8 size)
{                 
        u8 t,temp;
        u8 enshow=0;                                                   
        for(t=0;t<len;t++)
        {
                temp=(num/LCD_Pow(10,len-t-1))%10;
                if(enshow==0&&t<(len-1))
                {
                        if(temp==0)
                        {
                                LCD_ShowChar(x+(size/2)*t,y,' ',size,0);
                                continue;
                        }else enshow=1;
                          
                }
                 LCD_ShowChar(x+(size/2)*t,y,temp+'0',size,0);
        }
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
正点原子
1楼-- · 2019-07-21 06:52
 精彩回答 2  元偷偷看……
a496298685
2楼-- · 2019-07-21 10:24
玄机在 LCD_ShowChar里面,而不是在这里。。。。
rjx007
3楼-- · 2019-07-21 16:24
LCD_ShowChar这个函数我也试了,最大也是只能显示24x12的数字,我自己取模分别做了几个0~9这十个数字的32x16,64x32的数组做实验,均不能正常显示,不知是怎么回事,楼上能指导一下吗?谢谢啊!
电脑小白
4楼-- · 2019-07-21 16:54
用画点函数呀。不过显示有点慢。
rjx007
5楼-- · 2019-07-21 19:53
能给个例子吗?
a496298685
6楼-- · 2019-07-22 00:53
 精彩回答 2  元偷偷看……

一周热门 更多>