快捷搜索:  汽车  科技

如何实现oled翻页(如何使用OLED实现滚动效果)

如何实现oled翻页(如何使用OLED实现滚动效果)滚动效果如下: 在上一篇OLED显示图片的工程中main函数中调用 还有一个demo,如下图: 我们按照Samplecode进行操作成功实现了滚动效果,但是并不知道具体参数含义,那该怎么做?但是我们是知道用26h/27h命令去实现的,按正常手册并定会有命令说明。大家可以从手册第9章命名看到COMMANDTABLE。跳转到该页并开始搜寻26h/27h命令。 看到这个表,我们就可以知道刚才那个Sample code中那些数据的含义了。●第一个字节是26h/27h,26h:向右进行水平滚动;27h:向左进行水平滚动●第二个字节是空字节,建议发送00即可。●第三个字节设置水平滚动的起始页地址,页0 ~页7。●第四个字节设置滚动步长时间间隔,帧为单位。●第五个字节设置水平滚动的终止页地址,页0 ~页7。(终止页地址必须要比起始页地址要大)●第六个字节是空字节,建议发送00即可。●第七个字节

前言

这篇文章不过多描述OLED工作原理及驱动过程,仅从实用性出发,如何使用OLED实现滚动效果。这里我们以正点原子战舰板OLED实验例程为基础。

(本文配套工程文件,在底部下方供大家学习下载。)

对于OLED屏幕的显示效果,很多小伙伴都会使用滚动方式。实现滚动显示可以通过软件实现和硬件实现。软件上的操作:在MCU上创建一个双缓存,这个对于小内存MCU极其不友好。硬件实现得看模块是否支持,所以我们可以通过查看器件手册获得答案。

很多时候,我们可以从器件手册的FEATURES小节可以知道支不支持硬件滚动。FEATURES小节主要介绍产品的主要特征,如果产品有某些比较优异的功能也会在这里着重介绍。SSD1306器件手册中FEATURES描述,如下图所示。

如何实现oled翻页(如何使用OLED实现滚动效果)(1)



scroll?滚动?很明显,看到的是支持水平滚动和垂直滚动。那器件手册必定会有滚动相关描述,看一下目录就知道。

如何实现oled翻页(如何使用OLED实现滚动效果)(2)



OLED支持水平滚动、垂直并水平滚动两种效果。

接下来的事情就是开干!!!

这里的内容分为两部分:

①实现水平滚动 ② 实现垂直水平滚动

一、实现水平滚动

先看手册中对水平滚动设置的描述。

如何实现oled翻页(如何使用OLED实现滚动效果)(3)


该命令由连续的字节组成,用于设置水平滚动参数和决定滚动的起始页、终止页和滚动速度。并且在使用该命令时,必须先发送2Eh命令停止滚动。否则,GRAM内容有可能被破坏。SSD1306水平滚动设计为128列滚动。

滚动效果如下图,一列一列进行移动。

如何实现oled翻页(如何使用OLED实现滚动效果)(4)



还有一个demo,如下图:

如何实现oled翻页(如何使用OLED实现滚动效果)(5)



我们按照Samplecode进行操作成功实现了滚动效果,但是并不知道具体参数含义,那该怎么做?但是我们是知道用26h/27h命令去实现的,按正常手册并定会有命令说明。

大家可以从手册第9章命名看到COMMANDTABLE。跳转到该页并开始搜寻26h/27h命令。

如何实现oled翻页(如何使用OLED实现滚动效果)(6)



看到这个表,我们就可以知道刚才那个Sample code中那些数据的含义了。

●第一个字节是26h/27h,26h:向右进行水平滚动;

27h:向左进行水平滚动

●第二个字节是空字节,建议发送00即可。

●第三个字节设置水平滚动的起始页地址,页0 ~页7。

●第四个字节设置滚动步长时间间隔,帧为单位。

●第五个字节设置水平滚动的终止页地址,页0 ~页7。

(终止页地址必须要比起始页地址要大)

●第六个字节是空字节,建议发送00即可。

●第七个字节是空字节,建议发送FF即可。

注意:设置滚动前,必须先发送2Eh命令停止滚动。

知道了这些连续字节的含义,那就可以写水平滚动代码了。

如何实现oled翻页(如何使用OLED实现滚动效果)(7)



在上一篇OLED显示图片的工程中main函数中调用


如何实现oled翻页(如何使用OLED实现滚动效果)(8)



滚动效果如下:

如何实现oled翻页(如何使用OLED实现滚动效果)(9)



大家可以尝试传入不同参数测试一下效果。

二、实现垂直水平滚动


从前面的目录也知道,使用到的命令是29h/2Ah,有了前面水平滚动的驱动流程,这里我们就可以很轻松地看着垂直滚动命令表,编写函数。

如何实现oled翻页(如何使用OLED实现滚动效果)(10)



每一个字节的含义,我们可以通过函数的注释进行查看。

如何实现oled翻页(如何使用OLED实现滚动效果)(11)



在上一篇OLED显示图片的工程中main函数中调用

如何实现oled翻页(如何使用OLED实现滚动效果)(12)



滚动效果如下:

如何实现oled翻页(如何使用OLED实现滚动效果)(13)



大家可以尝试传入不同参数测试一下效果。

复制链接,打开浏览器下载工程文件。

链接:https://pan.baidu.com/s/1akQjF_gKLmp36XC8Rsvb0A

提取码:1pot

猜您喜欢: