一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 3326|回复: 12

[STM8/STM32] VFD12864模拟SSD1306 I2C接口

[复制链接]
发表于 2022-1-29 15:26 | 显示全部楼层 |阅读模式
本帖最后由 reiyawea 于 2022-1-29 15:29 编辑

我看到很多ESP8266、ESP32项目都用了SSD1306主控的12864 OLED。显示效果虽好,但太小了。
于是给最近做的VFD12864增加了模拟SSD1306的功能,可以原样替换OLED。
为了节省引脚,也为了方便,选择了I2C接口,因为通信相对慢,不需要读忙。
以下为效果对比,使用了大佬“发明控”的作品
(源码:https://github.com/bilibilifmk/ESP_weather_Cube,视频:https://www.bilibili.com/video/BV1N54y1B7WW

IMG20220129005223 - 副本.jpg

应该也可以用于数控电源、电子负载、示波器等项目,如果有需要可以联系我。

评分

参与人数 1一乐金币 +100 收起 理由
Joe_Black + 100 赞一个!

查看全部评分

发表于 2022-1-29 18:41 来自手机 | 显示全部楼层
最大速率能支持到多少KHz?
之前为什么我只支持SPI的OLED是因为我觉得I2C效率有点低,显示刷屏耗时太长会影响其他任务的实时性。

不知你用什么MCU模拟OLED,如果MCU能处理的过来的话,是否考虑支持SPI?

点评

还没做速度测试,估计最大能到400K,缓冲区足够大,全速写一屏没问题。SSD1306的I2C设计很特别(好像Solomon Systech公司出的主控都是这样),有3种模式: 一是控制字和指令/数据交替 二是一个控制字后跟N个指令 三  详情 回复 发表于 2022-1-29 21:58
回复

使用道具 举报

 楼主| 发表于 2022-1-29 21:58 | 显示全部楼层
本帖最后由 reiyawea 于 2022-1-29 22:00 编辑
cdhigh 发表于 2022-1-29 18:41
最大速率能支持到多少KHz?
之前为什么我只支持SPI的OLED是因为我觉得I2C效率有点低,显示刷屏耗时太长会影 ...

我用STM32做的主控。画板的时候忘了SPI,只引出了I2C,所以暂时没法做SPI。
I2C速度估计能到400K,缓冲区足够大,全速写一屏没问题。
SSD1306的I2C设计很特别(好像Solomon Systech公司出的主控都是这样),有3种模式:
一是控制字和指令/数据交替
二是一个控制字后跟N个指令
三是一个控制字后跟N个数据

按第三种方式刷一屏需要1024*9/400K=23ms,应该还行吧?
等放假了做个极限测试,看看能不能播放24fps的动画。



回复

使用道具 举报

发表于 2022-1-30 08:29 来自手机 | 显示全部楼层
如果能达到400KHz,根据网友的实测数据,一般一帧需要40ms左右,因为没有DMA,需要CPU参与,字节和字节之间是有时间花销的。

不过400KHz也能达成25fps了。

点评

试了一下400K总线12fps动画,效果还可以。 模拟SPI有难度,因为还有个DC引脚要同时采样,每个SPI字节都要进中断开销太大了。  详情 回复 发表于 2022-2-1 12:03
回复

使用道具 举报

 楼主| 发表于 2022-2-1 12:03 | 显示全部楼层
本帖最后由 reiyawea 于 2022-2-1 12:04 编辑
cdhigh 发表于 2022-1-30 08:29
如果能达到400KHz,根据网友的实测数据,一般一帧需要40ms左右,因为没有DMA,需要CPU参与,字节和字节之间 ...

试了一下400K总线12fps动画,效果还可以。
模拟SPI有难度,因为还有个DC引脚要同时采样,每个SPI字节都要进中断开销太大了。

无法嵌入视频 ,只好直接发地址了
https://www.bilibili.com/video/BV1U44y1p773/
回复

使用道具 举报

发表于 2022-2-2 17:23 | 显示全部楼层
新年快乐!除夕还在编程?

点评

您也新年快乐! 编程不讲日子的,每天都是工作日。 今年应该是您首次成功点亮这块热水器屏的十周年了,时光飞逝啊! 当年那贴还在:https://www.yleee.com.cn/thread-11863-1-1.html 十分感谢您。  详情 回复 发表于 2022-2-2 18:22
回复

使用道具 举报

 楼主| 发表于 2022-2-2 18:22 | 显示全部楼层
kazuyuki 发表于 2022-2-2 17:23
新年快乐!除夕还在编程?

您也新年快乐!
编程不讲日子的,每天都是工作日。
今年应该是您首次成功点亮这块热水器屏的十周年了,时光飞逝啊!
当年那贴还在:https://www.yleee.com.cn/thread-11863-1-1.html
十分感谢您。

点评

没想到一晃10年了,时间过得真快啊!  详情 回复 发表于 2022-2-3 10:25
回复

使用道具 举报

发表于 2022-2-3 07:24 | 显示全部楼层
源代码有吗?
回复

使用道具 举报

发表于 2022-2-3 07:59 | 显示全部楼层
淘宝链接发一个 打算买一块
回复

使用道具 举报

发表于 2022-2-3 10:25 | 显示全部楼层
reiyawea 发表于 2022-2-2 18:22
您也新年快乐!
编程不讲日子的,每天都是工作日。
今年应该是您首次成功点亮这块热水器屏的十周年了,时 ...

没想到一晃10年了,时间过得真快啊!
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-10-28 16:12 , Processed in 0.038147 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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