OpenEdv-开源电子网

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

请教:OLED的这个函数的作用是什么?怎么用它?

[复制链接]

64

主题

249

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1073
金钱
1073
注册时间
2017-6-10
在线时间
279 小时
发表于 2017-12-31 14:06:42 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 rjx007 于 2017-12-31 14:10 编辑

我碰到一个很费解的问题,请教原子老板和各位,请不吝指教,先谢谢啦。
原子提供的OLED显示函数里有下面的这个“更新显存到LCD”函数://更新显存到LCD                 
void OLED_Refresh_Gram(void)
{
        u8 i,n;                    
        for(i=0;i<8;i++)  
        {  
                OLED_WR_Byte (0xb0+i,OLED_CMD);    //设置页地址(0~7)
                OLED_WR_Byte (0x00,OLED_CMD);      //设置显示位置—列低地址
                OLED_WR_Byte (0x10,OLED_CMD);      //设置显示位置—列高地址   
                for(n=0;n<128;n++)OLED_WR_Byte(OLED_GRAM[n],OLED_DATA);
        }   
}

我的问题是:这个函数的作用是什么?什么时候需要使用这个函数?
之所以提出这个问题,是我发现在一般显示字符,字符串,数字时并不需要使用这个函数,可以正常显示。但我尝试有人提供的显示48的大字符时,如果不用这个函数,就会要很长时间字符才会出现,这是为什么?
还有,就是这个显示48大字符的字符出现后,用清屏函数是清不掉的,这又是为什么?
显示48大字符的函数叶贴出来:
//显示48号字体
void OLED_ShowFont48(u8 x,u8 y,u8 fno,u8 mode)
{
        
        u8 temp,t,t1;
        u8 y0=y;
        for(t=0;t<144;t++)//144的由来,48*24/8
        {
                if(t<48) temp=asc[fno*3][t];
                else if(t<96) temp=asc[fno*3+1][t-48];
                        else temp=asc[fno*3+2][t-96];
                for(t1=0;t1<8;t1++)
                {
                        if(temp&0x80) OLED_DrawPoint(x,y,mode);
                        else        OLED_DrawPoint(x,y,!mode);
                        temp <<=1;
                        y++;
                if((y-y0)==48)
                {
                        y=y0;
                        x++;
                        break;
                }
        }
}
}





最佳答案

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

想要显示,必须调用这个函数,来更新。这个函数的作用,就是更新显示。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-12-31 14:06:43 | 显示全部楼层
想要显示,必须调用这个函数,来更新。这个函数的作用,就是更新显示。
回复

使用道具 举报

64

主题

249

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1073
金钱
1073
注册时间
2017-6-10
在线时间
279 小时
 楼主| 发表于 2018-1-1 08:46:50 | 显示全部楼层
哪为什么我不调用这个函数,也能正常显示一般的字符和数字呢?不解。
回复

使用道具 举报

64

主题

249

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1073
金钱
1073
注册时间
2017-6-10
在线时间
279 小时
 楼主| 发表于 2018-1-2 11:11:38 | 显示全部楼层
继续求解上面问题的详细解释
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-23 10:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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