查看: 939|回复: 11

SSD1306/SSD1106-STC系列

[复制链接]

28

主题

66

帖子

1160

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1160
发表于 2023-10-27 14:45:24 | 显示全部楼层 |阅读模式
本帖最后由 LZY825597017 于 2024-1-18 14:48 编辑

1.扩展库介绍

本扩展库适用于驱动芯片为SSD1306/SSD1106OLED屏幕,驱动方式为IIC(软件),设备地址默认为0X3C ,请在使用本扩展库之前确定好自己所使用的OLED驱动型号是否对应。为方便扩展库统一管理,STC系列OLED12864等扩展库不再维护,扩展库目前支持的分辨率有128*64、128*32以及74*40。

图形化模块
image.png
(1)OLED初始化 SDA和SCL引脚(软件IIC),设备地址默认0X3C。

image.png
(2)OLED清屏(不是屏幕清屏而是清空显存,亮:缓存写1,更新后,屏幕全亮;灭:缓存写0,更新后,屏幕全灭

image.png
(3)OLED更新显示(将显存数据发送到屏幕,使用显示模块后必须调用更新显示,否则无法显示或者屏幕不刷新)

image.png
(4)OLED显示字符(在屏幕坐标为(X,Y)的位置显示单个字符,大小可调整(12/16/24/32))(亮:显示字符亮,若背景灭时就能显示,若背景亮时就看不出来字符,范例演示区别
注意:使用不同的字体大小需要开启不同的字库(字库会占用很多内存空间),因此尽量使用相同字体大小,否则可能会出现内存不够的情况,后续不再赘述
这里的X范围为(0-127)Y范围(0-63)


image.png
(5)OLED显示字符串(在屏幕坐标为(X,Y)的位置显示开始字符串,大小可调整(12/16/24/32))

image.png
(6)OLED显示数字(在屏幕坐标为(X,Y)的位置显示开始数字,大小可调整(12/16/24/32))

image.png
(7)OLED显示小数(在屏幕坐标为(X,Y)的位置显示开始小数,精度可调(1-4),大小可调整(12/16/24/32))

image.png
(8)OLED显示汉字(在屏幕坐标为(X,Y)的位置开始显示汉字),大小可调整(12/16/24/32))

image.png
(9)OLED画点在屏幕坐标为(X,Y)的位置显示/不显示一个点)

image.png
image.png
(10)OLED画线段/矩形框/填充矩形 (线段起点(X1,Y1)线段终点(X2,Y2))(矩形框起点即左上角位置(X1,Y1),矩形框终点即右下角位置(X2,Y2)

image.png
(11)OLED画圆/填充圆 (以(X,Y)为圆心,指定半径画圆或者填充圆

image.png
(12)OLED画三角形/填充三角形 (三角形三个点(X0,Y0)、(X0,Y0)、(X0,Y0)

image.png
(13)OLED画圆角矩形/填充圆角矩形(矩形框起点即左上角位置(X1,Y1),矩形框终点即右下角位置(X2,Y2),圆角半径以顶点开始算
旧版取模方式:
image.png
image.png
旧版(各芯片版本不同,新旧区分请查看源码,旧版图片y轴不可移动):(14)OLED显示图片 (从(X,Y)位置开始显示指定宽度和高度的图片,首个参数为显示的图片数组指针)
新版:
image.png
(15)OLED显示图片  (X,Y)位置可移动并添加超界判断,超出界限直接忽略。
新版取模方式:
image.png
2.扩展库使用范例
(1)硬件连接
image.png
(2)范例
image.png
两种显示模式仅是显示效果不同。上面初始化显示字符等,下面初始化显示图片

显示图片参考:https://haohaodada.com/new/bbs/f ... ge=1&extra=#pid2996

手册资料:http://www.haohaodada.com/new/learning_show.php?id=272

常见问题与注意事项
1、连接线路检查,杜邦线等确定能正常使用。
2、驱动方式为软件IIC,需要上拉电阻,否则可能无法显示。
3、显示内容超出界限。X(0-127)Y(0-63)
4、某些IO被用作特殊功能,如串口、SWIO等,不能用作SDA和SCL。如有需要可以关闭特殊功能,复用成普通IO即可。

OLED12864模块 SSD1106链接:https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-16095754988.25.338c78c5IG1xfU&id=655572167253






image.png
image.png

STC8-SSD1306范例.zip

3.25 KB, 下载次数: 29

回复

使用道具 举报

0

主题

6

帖子

30

积分

注册会员

Rank: 2

积分
30
发表于 2023-10-31 21:45:12 | 显示全部楼层
E:\备份资料\截屏\025.jpg请问版主编译不过关,有错误提示是什么原因呢?
回复

使用道具 举报

0

主题

6

帖子

30

积分

注册会员

Rank: 2

积分
30
发表于 2023-10-31 21:47:47 | 显示全部楼层
编译报错,我发表的回复好像不能显示。
回复

使用道具 举报

1

主题

2

帖子

39

积分

注册会员

Rank: 2

积分
39
发表于 2023-11-2 19:56:00 | 显示全部楼层
我用stc8h1k08的芯片测试,其它的都能显示,唯独数字和小数点不显示是怎么回事?
回复

使用道具 举报

28

主题

66

帖子

1160

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1160
 楼主| 发表于 2023-11-8 13:54:06 | 显示全部楼层
13702513304 发表于 2023-10-31 21:45
请问版主编译不过关,有错误提示是什么原因呢?

什么错误提示那?
回复

使用道具 举报

28

主题

66

帖子

1160

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1160
 楼主| 发表于 2023-11-8 13:57:16 | 显示全部楼层
13702513304 发表于 2023-10-31 21:47
编译报错,我发表的回复好像不能显示。

编译报错提示信息是什么那?
回复

使用道具 举报

28

主题

66

帖子

1160

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1160
 楼主| 发表于 2023-11-8 13:59:14 | 显示全部楼层
zy405891497 发表于 2023-11-2 19:56
我用stc8h1k08的芯片测试,其它的都能显示,唯独数字和小数点不显示是怎么回事?
...

那试一下最新版的SSD1306,并且不要使用文本连接
回复

使用道具 举报

0

主题

1

帖子

10

积分

注册会员

Rank: 2

积分
10
发表于 2024-1-10 13:49:39 | 显示全部楼层
这个OLED库的显示图片函数有问题,只能显示起始坐标X=0,Y=0,的全屏图片,如果图片不是全屏的,或者起始坐标XY不是0,显示就有问题,代码太简陋了
回复

使用道具 举报

28

主题

66

帖子

1160

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1160
 楼主| 发表于 2024-1-18 14:41:43 | 显示全部楼层
659630366 发表于 2024-1-10 13:49
这个OLED库的显示图片函数有问题,只能显示起始坐标X=0,Y=0,的全屏图片,如果图片不是全屏的,或者起始坐标 ...

已经修复y轴不能移动的问题,您可以使用最新版本,取模方式一并修改
回复

使用道具 举报

0

主题

3

帖子

14

积分

注册会员

Rank: 2

积分
14
发表于 2024-2-5 22:21:23 | 显示全部楼层
微信截图_20240205222044.png
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|好好搭搭在线 ( © 好好搭搭在线 浙ICP备19030393号-1 )

GMT+8, 2024-4-30 07:01 , Processed in 0.331726 second(s), 25 queries .

Powered by Discuz!

© 2001-2024 Comsenz Inc.

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