I2C Master-to-Master Communication #10584
-
Hello! I would like to know if it is possible to use SoftI2C functions such as I have tried to make it work on two ESP8285 (ESP8266) but only managed to send/receive 1 byte. On the other hand, with the help of MicroPython community members, I managed to discover the work of @peterhinch - https://github.com/peterhinch/micropython-async/blob/master/v3/docs/I2C.md I managed to make the modules sync. Moreover, I replace the parts of it such as My use case for this is, let's say we have 10 modules and we need them to communicate via wires. I2C seems like a good option, however, as there is no software support for I2C slave, the only option left is just sending data to the I2C bus to everyone. Once the SDA pin goes low, every module (via the IRQ interrupt) will know, that there will be someone speaking on the bus. Once the SDA and SCL are high again, the bus is free to use by another master. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Sorry this is not possible. I2C supports multiple controllers on the same bus, but it does not support controller-to-controller communications. An I2C device that receives data from a controller is a peripheral -- it cannot be acting as a controller. |
Beta Was this translation helpful? Give feedback.
Sorry this is not possible. I2C supports multiple controllers on the same bus, but it does not support controller-to-controller communications. An I2C device that receives data from a controller is a peripheral -- it cannot be acting as a controller.