二哈无法和OLED共用I2C问题的解决
总结建议:改善二号的I2C信号质量。UNO平台,二哈和OLED单独都能正常工作,但放到同一个I2C上就无法正常工作。当时感觉可能是驱动冲突?
后来把二哈和1602液晶屏放在同一个I2C上又能正常工作。于是感觉是信号质量可能有问题。
于是用手头小示波器看了下各个器件单独连接时的波形图,
单独二哈I2C波形,3V3,上升沿太缓,小示波器不方便卡时间,看上去Tr的余量不够:
单独OLEDI2C波形,3V3,看上去不错:
单独1602 I2C波形,5V0,看上去不错:
通过上面波形,感觉是二号的I2C波形太差,导致和OLED挂在一个I2C上时有问题。
而1602和二号挂在一起时,因为1602是5V0电平,所以可以掩盖这个问题。
于是就做了个实验,把淘宝上买的oled(如下图)背面的I2C上拉电阻从4K7改成了500R。
换完后,OLED和二号就能挂在同一个I2C上一起正常工作了。
有了规避手段,就没动力继续研究下去了。二号的开发兄弟要是看到这个帖子,能不能仔细测试确认下? :)
点个赞! IIC上拉电阻一般都推荐大一点,你这搞到500欧,太小了。从侧面说明二哈的IIC引脚估计没有上拉电阻 将I2C接口的速率设置为100K,即可让OLED、DS1307与二哈识图在同一根I2C总线上正常工作。 Youyou 发表于 2020-4-17 12:22
将I2C接口的速率设置为100K,即可让OLED、DS1307与二哈识图在同一根I2C总线上正常工作。 ...
OK,原来也想这么改。不过想想要给小朋友用图形编程,里面没有现成的设置速率的积木,就没试了。下次让他们用code来设置设置。
页:
[1]