分享一个0.96的oled显示驱动,软件模拟spi和i2c

2019-07-20 00:59发布

比完赛,整理了一下备赛期间的调试工具,个人感觉比较好用的;
-- 1、寄存器部分参考了原子和网上其他大佬的代码,稍作修改;
-- 2、可快速更改控制引脚和控制方式(spi和i2c),在.h文件中修改即可;
-- 3、对字符显示进行优化,目前可显示字符、字符串、符号十进制、可选精度小数、十六进制...
-- 4、封装了绘图函数,绘制圆、椭圆等;
-- 5、封装对屏操作函数,移屏、翻转等,可用于制作菜单;

*声明:
-- 1、借鉴了其他人的代码,这里就不一一感谢了,总之很多;
-- 2、个人添加的内容也是在网上找不见(可能只有我找不见),然后参考一些算法写的,可能写的不正确,也请各位大佬们改正,在此感谢;
-- 3、如有任何问题,欢迎一起交流学习;


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
44条回答
Anyint
1楼-- · 2019-07-23 11:33
 精彩回答 2  元偷偷看……
Seri。
2楼-- · 2019-07-23 14:36
Anyint 发表于 2017-12-26 18:40
楼主,这个oled I2C协议的显示速度最快可以到多少,就是直接刷显存我感觉并不是很快,我发现我画曲线的时 ...

i2c本身就慢,如果刷新整个屏幕肯定慢死。我一般用的spi方式进行局部刷新。软件i2c我从我之前103的程序上修改过来的,延时函数冗余是肯定的,103上我记得当时只能达到200~300k左右,模拟的,f4上没测试过。之所以我直接数据到oled是参考LCD1602,存在显存概念,可以自定义显存大小,进行存储映射,实现窗口移动、分窗显示,而且当需要覆盖原始数据时(比如绘制坐标系并且绘制多条曲线),不需要从oled中读取数据,整体上会节省一点时间。
Anyint
3楼-- · 2019-07-23 19:00
 精彩回答 2  元偷偷看……
Seri。
4楼-- · 2019-07-23 19:44
Anyint 发表于 2018-1-24 11:06
看样子还是要采用SPI的方式去画曲线(刷新率很高的那种),如果要做示波器这种设备,它需要很快的更新速 ...

示波器用oled就比较差了,spi应该也不是很跟得上,或者使用8080并口也行。在或者使用tft屏,并口驱动,而且可以移植emWin、ucGUI啥的,可以缩短开发周期
dreamadmirer
5楼-- · 2019-07-23 21:36
谢谢分享
makaichuang
6楼-- · 2019-07-24 03:00
 精彩回答 2  元偷偷看……

一周热门 更多>