之前使用过0.96寸的OLED,驱动芯片SSD1306,看了下两个芯片数据手册,差异不是很大,买了一个1.3寸的,花了一个下午点亮了,在过程中遇到了些问题,网上的资料不多,于是做个总结。

主要遇到的问题有,

1.显示不正常,出现花屏等现象。

从我遇到的情况来说,出现花屏可以考虑几个方面,

第一,供电电压,如果是买来的模块,看下背后有没有一个三极管LDO,如果没有的话只能使用3.3V的供电,5V供电会出现花屏,以及烧坏屏幕;

第二,GPIO的输出模式,由于使用I2C通讯的时候,在总线空闲时,应该被拉高,响应时要能被拉低,所以应该配置成开漏输出,我使用STC8H,将端口设置成其余三种模式,在使用推挽输出时会出现花屏现象,高阻输入无法点亮屏幕,准双向模式能点亮屏幕但是屏幕的亮度很低,几乎看不见,原因不清楚。

2.侧面有白边或者白点。

在使用SSD1306的时候,没出现过这种情况,原因不清楚,但是可以通过软件偏移修正。

将横坐标地址+2或者+1,具体数值要看你屏幕上像素点有几排,或者自己试试。

 

3.SH1106和SSD1306初始化的差异。

对比了两个数据手册,主要的差异在于内部的DC-DC的寄存器地址,以及SH1106可以设置电荷泵的电压数值,具体的指令及参数可以参看其数据手册。

将SSD1306的电荷泵指令替换成SH1106的指令 ,另外设置电荷泵的oled面板驱动电压即可。

其余命令可以是通用的。

附上点亮后的图片:

 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐