0.91寸oled(128x32)的滚动显示问题
我想用0.91oled做个流水屏,源码中没有32x32的汉字显示,我修改了一下,就能显示32x32的汉字了,代码如下:
void OLED_ShowCHinese32(u8 x,u8 y,u8 no)
{u8 t,adder=0;OLED_Set_Pos(x,y); for(t=0;t<32;t++){OLED_WR_Byte(Hzk32[4*no][t],OLED_DATA);adder+=1;} OLED_Set_Pos(x,y+1); for(t=0;t<32;t++){ OLED_WR_Byte(Hzk32[4*no+1][t],OLED_DATA);adder+=1;}OLED_Set_Pos(x,y+2); for(t=0;t<32;t++){ OLED_WR_Byte(Hzk32[4*no+2][t],OLED_DATA);adder+=1;}OLED_Set_Pos(x,y+3); for(t=0;t<32;t++){ OLED_WR_Byte(Hzk32[4*no+3][t],OLED_DATA);adder+=1;}
}
使用方法是先用取模工具取模,然后在主函数里直接使用,注意间隔是32像素
OLED_ShowCHinese32(00,0,0);OLED_ShowCHinese32(32,0,1);OLED_ShowCHinese32(64,0,2);OLED_ShowCHinese32(96,0,3);OLED_ShowCHinese32(00,4,4);OLED_ShowCHinese32(32,4,5);OLED_ShowCHinese32(64,4,6);OLED_ShowCHinese32(96,4,7);
就能显示32x32的汉字了。
也可以让他水平滚动显示:
代码:
OLED_Clear(); OLED_WR_Byte(0x2e,OLED_CMD);OLED_WR_Byte(0x27,OLED_CMD);OLED_WR_Byte(0x00,OLED_CMD);OLED_WR_Byte(0x00,OLED_CMD);OLED_WR_Byte(0x00,OLED_CMD);OLED_WR_Byte(0x07,OLED_CMD);OLED_WR_Byte(0x00,OLED_CMD);OLED_WR_Byte(0xff,OLED_CMD);OLED_ShowCHinese32(00,0,0);OLED_ShowCHinese32(33,0,1);OLED_ShowCHinese32(65,0,2);OLED_ShowCHinese32(97,0,3);OLED_ShowCHinese32(00,4,4);OLED_ShowCHinese32(33,4,5);OLED_ShowCHinese32(65,4,6);OLED_ShowCHinese32(97,4,7);OLED_WR_Byte(0x2f,OLED_CMD);
效果如下图:
也可以做到垂直滚动;
代码如下:
OLED_WR_Byte(0x2e,OLED_CMD);OLED_WR_Byte(0xa3,OLED_CMD);OLED_WR_Byte(0x00,OLED_CMD);OLED_WR_Byte(0x40,OLED_CMD);OLED_WR_Byte(0x2a,OLED_CMD);OLED_WR_Byte(0x00,OLED_CMD);OLED_WR_Byte(0x00,OLED_CMD);OLED_WR_Byte(0x01,OLED_CMD);OLED_WR_Byte(0x00,OLED_CMD);OLED_WR_Byte(0x04,OLED_CMD);OLED_ShowCHinese32(00,0,0);OLED_ShowCHinese32(32,0,1);OLED_ShowCHinese32(64,0,2);OLED_ShowCHinese32(96,0,3);OLED_ShowCHinese32(00,4,4);OLED_ShowCHinese32(33,4,5);OLED_ShowCHinese32(65,4,6);OLED_ShowCHinese32(97,4,7);OLED_WR_Byte(0x2f,OLED_CMD);
说明是可以存下8个32x32点阵的字符的。
但是我无法让他做到8个字在一行水平滚动,我不知道是硬件的限制还是纯粹我没找到怎么设置。希望大佬可以帮帮我,我只是想单纯的让它可以水平滚动8个字。
0.91寸oled(128x32)的滚动显示问题相关推荐
- STM32 HAL 驱动I2C总线0.91寸OLED模块(基于SSD1306显示驱动芯片)
STM32 HAL 驱动I2C总线0.91寸OLED模块(基于SSD1306显示驱动芯片) 基于SSD1306驱动芯片的OLED模块有多种型号,有0.91英寸,0.96英寸等等.OLED采用单色显示方 ...
- 【雕爷学编程】Arduino动手做(136)---0.91寸OLED液晶屏模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...
- 物联网开发笔记(85)- 使用Micropython开发ESP32开发板之通过I2C控制0.91寸OLED液晶屏
一.目的 这一节我们学习如何使用我们的ESP32开发板来学习通过I2C控制0.91寸OLED液晶屏. 二.环境 ESP32 + Thonny + 0.91寸 OLED显示液晶屏模块 + 几根杜邦线 + ...
- 0.96寸OLED取字模文字显示
0.96寸OLED取字模文字显示 话不多说上干货 这是我使用的取字软件打开会有这样的提示(我暂时不清楚为什么,不过使用起来没有问题) 打开后我们需要在这里进行一些参数的设置 我的是这样设置的,其中会遇 ...
- esp8266加0.91寸oled显示屏制作天气时钟
前言 上两周做了个客制化键盘,将esp8266改在键盘里面了显示始终天气等信息,演示视频看我B站视频:200块改的键盘,没错,你是来听歌的,五分钟剪的视频. 键盘制作教程在最后的参考资料里,自行查看. ...
- 0.91英寸OLED初始化程序
一.采用的显示屏幕的型号 0.91寸OLED显示屏幕,分辨率为128*32,内部有控制器,采用I2C进行控制.如图为使用芯片特性: 二.初始化代码 网上大多数的OLED屏幕初始化代码是0.96英寸分辨 ...
- Arduino--0.91寸OLED液晶屏
(1)简介 0.91寸OLED液晶屏如下图所示,接线比较简单,通过IIC通讯,但是需要注意的是OLED没有背光,只供电的情况下是不会有任何显示的,只有程序正确下载后才会有显示. (2)接线 0.91O ...
- FPGA驱动0.96寸OLED(SSD1306)
目录 一.七针0.96寸OLED驱动原理 二.SSD1306驱动时序 1.GDDRAM内部结构: (1)页寻址 (2)水平寻址 (3)垂直寻址 2.初始化 3.清屏 4.发送数据 三.子模块源码 1. ...
- 基于STM32的0.96寸OLED显示屏显示数据和滚动显示
文章目录 一.SPI 二.OLED显示屏显示数据 2.1 代码实现 2.2 结果展示 三.0.96寸OLED滚动显示数据 3.1 滚动方式 3.2 对显示文字进行取模 3.3 代码实现 3.4 结果展 ...
最新文章
- ADPRL - 近似动态规划和强化学习 - Note 5 - Banach Fixed Point Theorem in Dynamic Programming
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(6):各种公共方法及工具类的封装
- 程序员第一次相亲,因请女方吃肯德基而被怒删!
- java中gc是啥_java的gc是什么
- 机器学习-分类之AdaBoost原理及实战
- AI 从业者都会用到的 10 个深度学习方法
- 【youcans 的 OpenCV 例程200篇】114. 形态学操作之膨胀
- 【OpenCV】OpenCV函数精讲之 -- argc 和argv参数
- 防不胜防!微信借钱语音确认仍被骗:我可真是太难了
- python pandas 处理相同标题的csv文件_Python使用pandas处理CSV文件的实例讲解
- CentOS系统缺少库文件解决办法
- 每天学一点flash(4) 数组与xml配合使用
- 生成器模式(Builder)
- 易语言的Java皮肤_易语言软件更换皮肤的方法
- 有哪些可以用来制作历史时间轴的软件?
- 传智黑马python18期_传智博客黑马Python就业14期资料
- 第1章 软件设计师考试分析
- 你的忧伤,是我青春路过的彷徨
- 戴尔r330服务器怎么用u盘装系统,怎么用U盘装系统
- 电商平台数据仓库搭建02-Hadoop集群搭建