软件模拟IIC控制0.96寸OLED

本文介绍了作者如何使用STM32通过软件模拟IIC来控制0.96寸OLED显示屏的过程。在研究原子哥的IIC代码时,发现了停止信号代码的问题,并进行了修正。同时,通过对SSD1306数据手册的研究,作者发现需要发送从机地址0x78以使OLED正常显示。
摘要由CSDN通过智能技术生成

继上一篇文章——我的心塞的OLED之旅,这篇可得有些实际的东西(看到文章标题就知道我已经放弃1.3寸大屏了,有时间再来调试吧)

找朋友要了0.96寸OLED显示代码,发现是用硬件IIC控制的,熟悉原子哥代码的朋友都知道原子哥推荐用软件模拟IIC来控制IIC器件。所以自己结合原子哥的IIC教程写了个软IIC控制oled显示的程序。

研究原子哥IIC控制的代码中发现,原子哥的IIC停止信号代码有些奇怪。根据时序图,应该SCL变为1延时一段时间SDA才变为1。于是乎,将此修改如下:

原子哥图

时序图

修改图

 

在研究SSD1306过程中,也想过要不要发送从机地址呢?看了下原子哥程序,感觉并没有对24C02发送从机地址识别。于是乎,一开始也没写,后来发现OLED没显示啊啊啊啊啊。

让我们好好看看SSD1306数据手册吧。关于从机地址内容如下。由此可知,还是加上从机地址0x78吧。果然,oled显示正常了。哟吼!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值