0.96寸OLED显示屏无法点亮问题及解决方案

您所在的位置:网站首页 华为p40pro消息来了屏幕不亮怎么回事儿 0.96寸OLED显示屏无法点亮问题及解决方案

0.96寸OLED显示屏无法点亮问题及解决方案

2023-12-26 19:56| 来源: 网络整理| 查看: 265

跟着b站up江科大学习32单片机,但是不是在他家买的硬件。

学习到I2C总线OLED显示屏时遇到了问题,买的显示屏无论如何都点不亮。

尝试过更换GPIO引脚、更换总线定义、更换输出模式为推挽输出、交换硬件SCK、SDA连线、甚至交换过VCC和GND,均无法解决问题。OLED显示屏和LCD不一样,如果无法显示则一片漆黑,一度怀疑是硬件损坏。

无法点亮的OLED屏幕

直到又换了一家买了一个OLED模块,下载up江科大的例程,顺利点亮,这说明新买的模块没有问题,江科大的程序也没有问题。

另一块可以点亮的OLED屏幕

但是OLED这种模块除非长时间电源反接,否则很难损坏,这不禁让我怀疑原来的显示屏是否真正损坏。在卖家提供的链接里我找到了这款显示屏51的例程,在51上下载后进行实验,结果发现两块屏幕都能点亮。这说明原来的屏幕没有损坏。

把32点不亮的OLED接在51开发板上,却可以点亮

接下来我将两个屏幕并联起来,一起接到32最小系统板上,神奇的事请发生了:两个屏幕同时点亮,显示相同的内容。在此之前我们已经试过,如果将“损坏”的屏幕单独接在32上,是不会点亮的。而将两个屏幕并联,却都可以点亮,由此推测另一个“良好”的屏幕影响了数据总线上的内容,从而让“损坏”的屏幕点亮。

左侧为“损坏”的屏幕,右侧为“良好”的屏幕,当它们并联一起接到32上时,可以同时点亮

51开发板和32最小系统板一个很大的区别就是32最小系统板引脚没有上拉电阻。而I2C协议传输数据时,数据总线上必须有上拉电阻,并且所有器件设置为开漏输出,才可控。从而推测,“良好”的屏幕内部自带了上拉电阻,当用户使用它时候,就相当于把上拉电阻接在了数据总线上,因此如果将“损坏”的屏幕也接上,相当于“损坏”的屏幕使用了”良好“屏幕的上拉电阻,所以可以正常显示。

做出这些推测后,我给数据线SDA和SCK接了上拉电阻,果然,“损坏”的屏幕恢复正常显示了(下图屏幕上方两颗电阻为上拉电阻,阻值我选择的1千欧)。

“损坏”的屏幕因为上拉电阻“修好”了

结论:不同OLED屏的内部电路不同,有些内置了上拉电阻,用户只需将它接在I2C总线上,就相当于给SDA、SCK接上了上拉电阻,可以直接使用。但有些OLED屏内部是标准的开漏输出,没有内置上拉电阻,如果要使用它时必须要手动给SDA、SCK接上拉电阻。在I2C传输中,上拉电阻可以多接(改变阻值),但不能没有。因此如果你的OLED也点不亮,可以尝试接上拉电阻解决问题。

左侧为需要接上拉电阻的模块,右侧为不需要接上拉电阻的模块

希望本文章对遇到同样问题的你有所帮助!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3