OpenEdv-开源电子网

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

OLED显示数字的问题

[复制链接]

10

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
514
金钱
514
注册时间
2017-5-21
在线时间
82 小时
发表于 2018-1-24 21:33:51 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 Anyint 于 2018-1-25 10:20 编辑

小弟不才,想写个OLED整数显示函数,目前有一个问题 就是 110这个数字变成109,实际显示是110变成了190。这个问题应该是算法上有漏洞,有大佬可以帮忙改出来吗。这个代码基本上昂可以实现自动补零,或者补空,左右对齐,固定长度显示,自动消影。不过只能适用于无符号整形变量。
[mw_shl_code=c,true]u32 OledPow(u8 m,u8 n)
{
    u32 i = 1;
    while(n--)
    {
        i*=m;
    }
    return i;
}
void OledShowInt(u8 x,u8 page,u32 num,u8 len,u8 zero,u8 size)
{
    u8 tlen,i,top,tlens;
    u32 temp;
    if(size == 6)
    {
        if(len != 0)
        {
            //统计长度
            temp = num;
            tlen = 0;
            top = 0;
            while(temp > 0)
            {
                temp /= 10;
                tlen++;
            }
            if(tlen > len)
            {
                return;
            }
            if(zero == 0)
            {
                for(i = 0;i < len - tlen;i++)
                {
                    OledShowChar(x,page,0+48,size);
                    x+=6;
                }
            }
            else if(zero == 1)
            {
                for(i = 0;i < len - tlen;i++)
                {
                    OledShowChar(x,page,32,size);
                    x+=6;
                }
            }
            tlens = tlen;
            for(i = 0;i < tlens; i++)
            {
                temp = num;
                tlen = 0;
                while(temp > 0)
                {
                    temp /= 10;
                    tlen++;
                }
                top = num / OledPow(10,(tlen-1));
                OledShowChar(x,page,top+48,size);
                x+=6;
                num %= OledPow(10,(tlen-1));
            }
            for(i = 0;i < (len-tlens);i++)
            {
                OledShowChar(x,page,32,size);
                x+=6;
            }
        }
    }
}
[/mw_shl_code]

最佳答案

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

你真的不打算报答我看完你的全篇代码??? [mw_shl_code=c,true]u32 OledPow(u8 m,u8 n) { u32 i = 1; while(n--) { i*=m; } return i; } void OledShowInt(u8 x,u8 page,u32 num,u8 len,u8 zero,u8 size) { u8 tlen,i,top,tlens,tlenss; u32 temp; if(size == 6) { if(len != 0) { //统计长度 temp = num; ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-24 21:33:52 | 显示全部楼层
你真的不打算报答我看完你的全篇代码???

[mw_shl_code=c,true]u32 OledPow(u8 m,u8 n)
{
    u32 i = 1;
    while(n--)
    {
        i*=m;
    }
    return i;
}
void OledShowInt(u8 x,u8 page,u32 num,u8 len,u8 zero,u8 size)
{
    u8 tlen,i,top,tlens,tlenss;
    u32 temp;
    if(size == 6)
    {
        if(len != 0)
        {
            //统计长度
            temp = num;
            tlen = 0;
            top = 0;
            while(temp > 0)
            {
                temp /= 10;
                tlen++;
            }
            if(tlen > len)
            {
                return;
            }
            if(zero == 0)
            {
                for(i = 0;i < len - tlen;i++)
                {
                    OledShowChar(x,page,0+48,size);
                    x+=6;
                }
            }
            else if(zero == 1)
            {
                for(i = 0;i < len - tlen;i++)
                {
                    OledShowChar(x,page,32,size);
                    x+=6;
                }
            }
            tlens = tlenss = tlen;
            for(i = 0;i < tlens; i++)
            {
                temp = num;
                tlen = 0;
                               
                // while(temp > 0)
                // {
                    // temp /= 10;
                    // tlen++;
                // }
                                tlen=tlenss--;
                top = num / OledPow(10,(tlen-1));
                OledShowChar(x,page,top+48,size);
                x+=6;
                num %= OledPow(10,(tlen-1));
            }
            // for(i = 0;i < (len-tlens);i++)
            // {
                // OledShowChar(x,page,32,size);
                // x+=6;
            // }
        }
    }
}[/mw_shl_code]
回复

使用道具 举报

10

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
514
金钱
514
注册时间
2017-5-21
在线时间
82 小时
 楼主| 发表于 2018-1-24 21:35:04 | 显示全部楼层
num %= OledPow(10,(tlen-1));  这一句话有问题,109变成了9,而不是09所以有点尴尬,可能算法一开始就有问题了
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-24 21:37:00 | 显示全部楼层
先占个楼,正在看代码。
回复

使用道具 举报

10

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
514
金钱
514
注册时间
2017-5-21
在线时间
82 小时
 楼主| 发表于 2018-1-24 21:37:15 | 显示全部楼层
109%100=9....119%100=19
回复

使用道具 举报

10

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
514
金钱
514
注册时间
2017-5-21
在线时间
82 小时
 楼主| 发表于 2018-1-24 21:37:36 | 显示全部楼层
很尴尬我要那个09....
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-24 22:13:27 | 显示全部楼层
经过仔细核实:

[mw_shl_code=c,true]u32 OledPow(u8 m,u8 n)
{
    u32 i = 1;
    while(n--)
    {
        i*=m;
    }
    return i;
}
/*
Parameter:
横坐标、
页号、
待显示数字、
需要显示成这么长(不可为0)、
不需要补零、
常量取值为6
*/

//假设输入了num=789,len=4,zero=0
void OledShowInt(u8 x,u8 page,u32 num,u8 len,u8 zero,u8 size)
{
    u8 tlen,i,top,tlens;
    u32 temp;
    if(size == 6)//错误检测
    {
        if(len != 0)//错误检测
        {
            temp = num;//副本
                        tlen = 0;//长度计数器初始化
                        top = 0;
            while(temp > 0){temp /= 10;tlen++;}//计算Dec位数
            if(tlen > len)return;//计算的Dec位数比最大位数还要大,出错
                //len=4,tlen=3,num=789,temp=0,zero=0
               
                        //填充空白(用0或空格)
            if(zero == 0)//执行得到
            {
                for(i = 0;i < len - tlen;i++)
                {
                    OledShowChar(x,page,0+48,size);//chr(48)='0'
                    x+=6;
                }
            }
            else if(zero == 1)//执行不到
            {
                for(i = 0;i < len - tlen;i++)
                {
                    OledShowChar(x,page,32,size);//chr(32)=' '
                    x+=6;
                }
            }
                //最开头的6个格成为数字0
               
            tlens = tlen;//副本
                       
                //tlens=3,tlen=3,x增大了6
            for(i = 0;i < tlens; i++)
            {
                temp = num;
                        //temp=789
                        //
                        //temp=89
                        //
                        //temp=9
                tlen = 0;
                while(temp > 0){temp /= 10;tlen++;}
                        //tlen=3
                        //
                        //tlen=2
                        //
                        //tlen=1
                top = num / OledPow(10,(tlen-1));
                        //top=789/100=7
                        //
                        //top=89/10=8
                        //
                        //top=9/1=9
                OledShowChar(x,page,top+48,size);//需要填充的第一位
                        //显示字符7
                        //
                        //显示字符8
                        //
                        //显示字符9
                x+=6;//移动光标
                num %= OledPow(10,(tlen-1));//这是剩下的等待显示的数位
                        //num=num%100=89
                        //
                        //num=num%10=9
                        //
                        //num=num%1=0
            }
                       
            for(i = 0;i < (len-tlens);i++)//始终有len=tlens,不可能执行。
            {
                OledShowChar(x,page,32,size);
                x+=6;
            }
        }
    }
}[/mw_shl_code]

应当显示为789才对。吧。。。。。。。。没毛病呀
回复

使用道具 举报

10

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
514
金钱
514
注册时间
2017-5-21
在线时间
82 小时
 楼主| 发表于 2018-1-24 22:32:09 | 显示全部楼层
a496298685 发表于 2018-1-24 22:13
经过仔细核实:

[mw_shl_code=c,true]u32 OledPow(u8 m,u8 n)

有问题的。加入你要显示109,实际OLED显示出来的是190.....很尴尬
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-24 22:33:01 | 显示全部楼层
噢。。吐血了。。

tlen = 0;
while(temp > 0){temp /= 10;tlen++;}

这里应该改成tlen=tlens--;
最后一句
[mw_shl_code=c,true]            for(i = 0;i < (len-tlens);i++)//始终有len=tlens,不可能执行。

            {
                OledShowChar(x,page,32,ssss);
                x+=6;
            }[/mw_shl_code]

删掉。


噢就是这样
回复

使用道具 举报

10

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
514
金钱
514
注册时间
2017-5-21
在线时间
82 小时
 楼主| 发表于 2018-1-24 22:33:32 | 显示全部楼层
Anyint 发表于 2018-1-24 22:32
有问题的。加入你要显示109,实际OLED显示出来的是190.....很尴尬

num %= OledPow(10,(tlen-1));//这是剩下的等待显示的数位    关键是这句话,在计算109%100=9,实际上需要保留成09
回复

使用道具 举报

10

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
514
金钱
514
注册时间
2017-5-21
在线时间
82 小时
 楼主| 发表于 2018-1-24 22:38:56 | 显示全部楼层
a496298685 发表于 2018-1-24 22:33
噢。。吐血了。。

tlen = 0;

能麻烦给出完整代码嘛,我修改了之后显示00....
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-24 22:38:59 | 显示全部楼层
你根本就不用每次都算一下剩下的数位,否则中间的0自然就被忽略了。


我刚才说的有问题,你把tlens换一个新的变量,然后就可以了。亲测可用。
回复

使用道具 举报

10

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
514
金钱
514
注册时间
2017-5-21
在线时间
82 小时
 楼主| 发表于 2018-1-24 22:47:01 | 显示全部楼层
a496298685 发表于 2018-1-24 22:38
你根本就不用每次都算一下剩下的数位,否则中间的0自然就被忽略了。

算剩余位数为了消除影子,解决自减1的问题,我是这么想的...我还是不怎么明白代码怎么改,麻烦大佬贴一下代码吧
回复

使用道具 举报

10

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
514
金钱
514
注册时间
2017-5-21
在线时间
82 小时
 楼主| 发表于 2018-1-24 22:50:02 | 显示全部楼层
a496298685 发表于 2018-1-24 22:44
你真的不打算报答我看完你的全篇代码???

[mw_shl_code=c,true]u32 OledPow(u8 m,u8 n)

哇,小弟佩服,大佬你看代码看的这么仔细,我自己写的我都不是很明白,出了问题改起来特别麻烦
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-24 22:52:03 | 显示全部楼层
我真想让你看看我的是怎么写的

[mw_shl_code=c,true]void OLED_ShowNum16(uint16_t x,uint8_t page,uint8_t index,uint32_t num)
//x坐标、page坐标,数字的序号,数字
{                
        uint8_t len=0,len_,i,x_;
        uint32_t tmp=num;
        static uint8_t _len[32]={0}; //位数历史记录保存,用于确定位数
        while(x>120){x-=128;page+=2;}//越界修正
        x_=(uint8_t)x;
        do
        {
                tmp/=10;len++;
                if(len==4){len--;break;}
        }while(tmp);//查查有多少位
        len_=_len[index];
        if(len_>len)
        {
                i=0;
                while(len_--)OledShowChar(x_-((++i)<<3),page,' ',6);//把多余位数局部刷新         
        }
        i=0;_len[index]=len;
        while(len--)
        {
                tmp=num%10;num/=10;
                 OledShowChar(x-((++i)<<3),page,tmp+'0',6);//覆写         
        }
}[/mw_shl_code]

你的代码很让人着急啊。
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-24 22:53:35 | 显示全部楼层
这是你的修改版,刚才好像网络有问题,没能发出去。

[mw_shl_code=c,true]u32 OledPow(u8 m,u8 n)
{
    u32 i = 1;
    while(n--)
    {
        i*=m;
    }
    return i;
}
void OledShowInt(u8 x,u8 page,u32 num,u8 len,u8 zero,u8 size)
{
    u8 tlen,i,top,tlens,tlenss;
    u32 temp;
    if(size == 6)
    {
        if(len != 0)
        {
            //统计长度
            temp = num;
            tlen = 0;
            top = 0;
            while(temp > 0)
            {
                temp /= 10;
                tlen++;
            }
            if(tlen > len)
            {
                return;
            }
            if(zero == 0)
            {
                for(i = 0;i < len - tlen;i++)
                {
                    OledShowChar(x,page,0+48,size);
                    x+=6;
                }
            }
            else if(zero == 1)
            {
                for(i = 0;i < len - tlen;i++)
                {
                    OledShowChar(x,page,32,size);
                    x+=6;
                }
            }
            tlens = tlenss = tlen;
            for(i = 0;i < tlens; i++)
            {
                temp = num;
                tlen = 0;
                               
                // while(temp > 0)
                // {
                    // temp /= 10;
                    // tlen++;
                // }
                                tlen=tlenss--;
                top = num / OledPow(10,(tlen-1));
                OledShowChar(x,page,top+48,size);
                x+=6;
                num %= OledPow(10,(tlen-1));
            }
            // for(i = 0;i < (len-tlens);i++)
            // {
                // OledShowChar(x,page,32,size);
                // x+=6;
            // }
        }
    }
}[/mw_shl_code]
回复

使用道具 举报

10

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
514
金钱
514
注册时间
2017-5-21
在线时间
82 小时
 楼主| 发表于 2018-1-25 10:07:00 | 显示全部楼层
本帖最后由 Anyint 于 2018-1-25 10:19 编辑

这个OledShowInt函数可以完全显示整数,负数也可以显示啦,再次非常感谢一楼大佬的帮助。基本上实现数字自动对齐功能,动态补零或者补空,可显示'-'号,定长显示不会超出范围(超出范围就会自动返回最大值或者最小值保持不变)。该显示方式为IIC版本的直接写内容到Oled,而非显存的方式去写,速度上稍微比刷显存快。还有一种printf方式不过好像比这个自己写的代码速度上慢一些。
[mw_shl_code=c,true]u32 OledPow(u8 m,u8 n)
{
    u32 i = 1;
    while(n--)
    {
        i*=m;
    }
    return i;
}


void OledShowInt(u8 x,u8 page,s32 num,u8 len,u8 zero,u8 size)
{
    u8 tlen,i,top,tlens,t,flag;
    u32 temp;
    flag = 0;
    if(size == 6)
    {
        if(len != 0)
        {
            if(num < 0)
            {
                flag = 1;
                num = - num;
            }
            //统计长度
            temp = num;
            tlen = 0;
            top = 0;
            while(temp > 0)
            {
                temp /= 10;
                tlen++;
            }
            if(tlen > (len-flag))
            {
                return;
            }
            if(zero == 0)
            {
                if(flag == 0)
                {
                    for(i = 0;i < len - tlen - flag;i++)
                    {
                        OledShowChar(x,page,0+48,size);
                        x+=6;
                    }
                }
                else
                {
                    for(i = 0;i < len - tlen - flag;i++)
                    {
                        OledShowChar(x,page,0+32,size);
                        x+=6;
                    }
                }
            }
            else if(zero == 1)
            {
                for(i = 0;i < len - tlen - flag;i++)
                {
                    OledShowChar(x,page,32,size);
                    x+=6;
                }
            }
            if(flag != 0)
            {
                OledShowChar(x,page,45,size);
                x+=6;
            }
            t=tlens = tlen;
            for(i = 0;i < tlens; i++)
            {
                temp = num;
                tlen= t--;
                top = num / OledPow(10,(tlen-1));
                OledShowChar(x,page,top+48,size);
                x+=6;
                num %= OledPow(10,(tlen-1));
            }
            for(i = 0;i < (len-tlens);i++)
            {
                OledShowChar(x,page,32,size);
                x+=6;
            }
        }
    }
}[/mw_shl_code]
回复

使用道具 举报

10

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
514
金钱
514
注册时间
2017-5-21
在线时间
82 小时
 楼主| 发表于 2018-1-25 13:30:23 | 显示全部楼层
哈哈,我后来在整数的基础上,又写了一个显示小数的函数,功能还是和整数的类似,如自动对齐,显示长度固定,数据长度可不固定(如果数据长度超过显示长度,则显示为最大值或者最小值),自动消影(数据在变小数,自动把无用的数据清空),自动补零补空。总之还是要感谢一楼那位大佬,有了整数的算法,小数的算法就好写了,大致思想就是,先处理整数用强制转换的思路去做,然后再算出小数部分(小数部分=小数-取出来的整数),之后再把小数部分放大,然后按照处理整数的思路去做就可以了。这个显示代码还在调试过程,目前测试还算是稳定的,如果有大佬找出问题,小弟在继续修改试试看。

附上代码,供参考:
[mw_shl_code=c,true]void OledShowDecimal(u8 x,u8 page,double num,u8 len,u8 dotlen,u8 zero,u8 size)
{
    u8 flag = 0;
    double dtemp;
    u8 top = 0,i;
    s32 intpar = 0,inttpar = 0,dintpar = 0,dinttpar = 0;
    u8 intlen = 0,inttlen = 0,intttlen = 0;
    u8 dinttlen = 0,dintttlen = 0;
    if(size == 6)
    {
        if(len != 0)
        {
            //判断数的大小
            if(num < 0)
            {
                flag = 1;
                num = - num;
            }
            //计算整数部分
            intpar = (s32)num;
            while(intpar > 0)
            {
                intpar /= 10;
                intlen++;//计算整数的长度
            }
            if((s32)num == 0)intlen ++;//如果数为000.000,则整数部分长度统计出来0,则需要自动在小数点前面补零
            if(intlen > (len - 1 - dotlen - flag))//判断是否超出整数显示长度
            {
                return;
            }
            if(zero == 0)//0模式右对齐自动补零
            {
                if(flag == 0)
                {
                    for(i = 0;i < (len - 1 - intlen - dotlen - flag);i++)
                    {
                        OledShowChar(x,page,0+48,size);
                        x+=6;
                    }
                }
                else
                {
                    for(i = 0;i < (len - 1 - intlen - dotlen - flag);i++)
                    {
                        OledShowChar(x,page,0+32,size);
                        x+=6;
                    }
                }
            }
            else if(zero == 1)//1模式右对齐自动补空
            {
                for(i = 0;i < (len - 1 - intlen - dotlen - flag);i++)
                {
                    OledShowChar(x,page,32,size);
                    x+=6;
                }
            }
            if(flag != 0)//如果数为负数自动补'-'
            {
                OledShowChar(x,page,45,size);
                x+=6;
            }
            //显示整数
            intttlen = inttlen = intlen;
            intpar = (s32)num;//取出整数
            for(i = 0; i < intlen; i++)
            {
                inttpar = intpar;
                inttlen = intttlen--;
                top = inttpar / OledPow(10,(inttlen-1));
                OledShowChar(x,page,top+48,size);
                x+=6;
                intpar %= OledPow(10,(inttlen-1));
            }
            //显示小数点
            OledShowChar(x,page,46,size);
            x+=6;
            //显示小数点后几位dotlen
            intpar = (s32)num;//取出整数
            dtemp = num - intpar;//取出小数
            dintpar = (s32)(dtemp*OledPow(10,dotlen));//将小数部分放大转成整数型
            dintttlen = dinttlen = dotlen;
            for(i = 0; i < dotlen; i++)
            {
                dinttpar = dintpar;
                dinttlen = dintttlen--;
                top = dinttpar / OledPow(10,(dinttlen-1));
                OledShowChar(x,page,top+48,size);
                x+=6;
                dintpar %= OledPow(10,(dinttlen-1));
            }
            //左对齐时减小自动消除影
            for(i = 0;i < (len - 1 - dotlen - ((s32)num==0?1:0));i++)
            {
                OledShowChar(x,page,32,size);
                x+=6;
            }
        }
    }
}[/mw_shl_code]
回复

使用道具 举报

64

主题

249

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1073
金钱
1073
注册时间
2017-6-10
在线时间
279 小时
发表于 2018-1-25 16:05:18 | 显示全部楼层
学习,学习。
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-25 16:20:38 | 显示全部楼层
Anyint 发表于 2018-1-25 13:30
哈哈,我后来在整数的基础上,又写了一个显示小数的函数,功能还是和整数的类似,如自动对齐,显示长度固定 ...

楼主,我其实早就想跟你提了。
不知道你是不是在学习单片机之前有过编程基础,但是你的代码质量真的是让人很着急,包括各种操作,各种代码习惯。你的这一套实现方式,效率相当差,而且有多次重复相同,这是很不应该的。建议认真学习编程。
回复

使用道具 举报

10

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
514
金钱
514
注册时间
2017-5-21
在线时间
82 小时
 楼主| 发表于 2018-1-25 16:26:49 | 显示全部楼层
a496298685 发表于 2018-1-25 16:20
楼主,我其实早就想跟你提了。
不知道你是不是在学习单片机之前有过编程基础,但是你的代码质量真的是让 ...

我之前有学一些编程,但是都是自己的理解偏多一些,没有很系统学过编程。大佬这个要怎么去学习呢,有推荐吗?
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-25 16:32:17 | 显示全部楼层
Anyint 发表于 2018-1-25 16:26
我之前有学一些编程,但是都是自己的理解偏多一些,没有很系统学过编程。大佬这个要怎么去学习呢,有推荐 ...

从饱受吐槽的经典《C程序设计-谭浩强》开始吧。。。。其他任何一本高校教材都是可以的。如果没有学过51单片机,那么放弃STM32先学51也是不错的选择,讲解51单片机的高校教材也不少。

当然,如果有了一点基础,再强迫自己从头学,是一件很难熬的事情。

这个就得从头就打好基础了。
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2019-3-20
在线时间
4 小时
发表于 2019-11-16 01:17:03 | 显示全部楼层
Anyint 发表于 2018-1-25 10:07
这个OledShowInt函数可以完全显示整数,负数也可以显示啦,再次非常感谢一楼大佬的帮助。基本 ...

兄弟,能给我看看 OledShowChar(x,page,top+48,size); 这个函数不
回复

使用道具 举报

64

主题

249

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1073
金钱
1073
注册时间
2017-6-10
在线时间
279 小时
发表于 2019-11-22 18:00:52 | 显示全部楼层
请教:函数前面和后面的方括号是什么意思?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 11:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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