前文介绍过很多关于SSD1306 OLED的使用方法和开发过程。

0.91寸OLED屏幕大小的音频频谱,炫酷!

0.96寸OLED控制器SSD1306其他两种显示模式

CX32l003 点亮0.96寸OLED屏幕

0.96寸OLED屏幕控制器SSD1306详解

本文介绍一个此类OLED十分有趣的玩法。

我们处理显示类产品时,需要使用算法来实现动态滚动,而对于此SSD1306芯片构成的OLED来说,实现动态滚动却是十分简单,接下来就介绍如何来实现这个方式。

通过手册可以找到 Horizontal Scroll Setup 这个指令,直接从名称就可以看出是水平滚动设置。

图片

那么如何操作这个指令呢?当初始化完成OLED后,只需写如下代码。

下述视频中的OLED模块采用的是此文《0.91寸OLED屏幕大小的音频频谱,炫酷!》中的音频频谱模块。

   write_cmd(0X27);//向左滚动   write_cmd(0X00);   write_cmd(2);//开始页2   write_cmd(0);//每个滚动步骤之间的时间间隔为5帧   write_cmd(3);//停止页3   write_cmd(0);   write_cmd(0xff);   write_cmd(0x2f);//激活滚动

0.91 oled滚动效果1

稍作改动代码中的值

   write_cmd(0X26);//向右滚动   write_cmd(0X00);   write_cmd(0);//开始页0   write_cmd(4);//每个滚动步骤之间的时间间隔为25帧   write_cmd(1);//停止页1   write_cmd(0);   write_cmd(0xff);   write_cmd(0x2f);//激活滚动

0.91 oled滚动效果2

   write_cmd(0X26);//向右滚动   write_cmd(0X00);   write_cmd(0);//开始页0   write_cmd(4);//每个滚动步骤之间的时间间隔为3帧   write_cmd(3);//停止页3   write_cmd(0);   write_cmd(0xff);   write_cmd(0x2f);//激活滚动

0.91 oled滚动效果3

另一个关于滚动的指令是 Continuous Vertical and Horizontal Scroll Setup (29h/2Ah)

图片

这个指令是水平和垂直方向连续滚动,相比水平方向多了一个。​​​​​​​

   write_cmd(0X29);//垂直向右滚动   write_cmd(0X00);   write_cmd(0);//开始页0   write_cmd(0);//每个滚动步骤之间的时间间隔为5帧   write_cmd(1);//停止页1   write_cmd(1);   write_cmd(0x2f);//激活滚动

0.91 oled滚动效果4

​​​​​

   write_cmd(0X29);//垂直向右滚动   write_cmd(0X00);   write_cmd(0);//开始页0   write_cmd(4);//每个滚动步骤之间的时间间隔为25帧   write_cmd(3);//停止页3   write_cmd(1);   write_cmd(0x2f);//激活滚动

0.91 oled滚动效果5

STM32的系统时钟如何判断和期望的一致?

炫彩LED(改装版)

0.91寸OLED屏幕大小的音频频谱,炫酷!

JFLASH添加支持PY32F002芯片的方法

STM32单通道ADC连续采集

MIPS核心处理器AR9331电源供电部分为什么要这么设计?

数字电子技术电门电路之万物皆可与非门(掌握数字电路核心基础)

STM32 软件触发ADC采集

RTT——一种代替串口打印的调试神器

晶振与软件的关系(深度理解)

为什么作为开关时NPN三极管不能驱动高边,PNP不能驱动低边?

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐