0.91/ 0.96寸等OLED芯片SSD1306 十分有趣的使用方法
前文介绍过很多关于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不能驱动低边?