乐鑫技术交流
直播中

陈文博

8年用户 955经验值
擅长:测量仪表
私信 关注
[问答]

用I2C连接ESP8266没有结果怎么结果?

我最后一次尝试用 I2C 连接 2x 8266。
一为主人,一为奴隶。
但没有结果。我在 Web 上阅读了很多内容并尝试了很多变体,但没有任何效果。
I2C 总线工作正常,因为我在同一总线上有一个 I2C OLED TFT 或一个 I2C 传感器用于测试。
然后我禁用 TFT 和传感器并只尝试主从。
我在来自 Web 的测试 PCB 上使用 ESP 8266 12F 模块。
所以我只能通过 LED 或串行打印看到主从连接正在工作。
2 线 SCL 和 SDA 是正确的,只有 7 厘米长。
有人知道我做错了什么吗?
我可能会尝试,但我在这里设置了我也尝试过的链接。

回帖(1)

叹久

2024-1-15 14:56:12
首先,请确保您的I2C地址是唯一的,主和从之间不应该有相同的地址。如果地址正确,您可以尝试以下解决方案:

- 确保您的ESP8266代码正确地初始化I2C总线。使用Wire.begin()函数并确保SCL和SDA引脚是正确的。
- 对于从机ESP8266,确保您正确地初始化了Wire.onReceive()和Wire.onRequest()回调函数。您应该在这些函数中添加代码,以便从机可以接收和处理从主机发送的数据。
- 在主ESP8266上,使用Wire.beginTransmission()和Wire.endTransmission()函数发送数据。确保你发送的数据是正确的,地址和数据格式都是正确的。
- 最后,请注意电源供应。ESP8266需要稳定的电源,如果电源波动或不稳定,I2C总线可能无法正常工作。您可以使用电解电容器来稳定电源,或者使用稳压器来提供稳定的电源。

如果您仍然无法解决问题,请检查硬件线路是否正确连接,特别是SDA和SCL线路是否正确连接。您也可以使用逻辑分析仪或示波器来检查I2C通信是否正常。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分