I am experimenting using two T3's, each as a master on an I2C bus. I do not require the Wire.h or i2c_t3.h libs to do any conflict management because I am using a digital input on each T3 to signal to the other that it has the bus. My test was to have them both take turns writing to a LCD display. I am using a test harness that I have used successfully many times before. 3.3V T3 <-> bidirectional level shift <-> 5V LCD
As often happens, even with things that seem so simple, it didn't go well the first time. My first set of code wasn't quite right and now I have no I2C ability with the two T3's that were connected to the bus. Somehow the I2C ports were both damaged and no longer work. I believe they were both trying to communicate on the bus at the same time. All the details are not know. I connected a known good T3 to the bus, after removing the damaged ones, and it can communicate with the LCD just fine.
I have a hard time believing that just because there are two masters out of sync on the same buss that the I2C ports would be damaged. I am not familiar with the internal construction of the I2C ports, can someone tell me if it is even possible to damage the ports in the described manner?
Thanks for your time.
As often happens, even with things that seem so simple, it didn't go well the first time. My first set of code wasn't quite right and now I have no I2C ability with the two T3's that were connected to the bus. Somehow the I2C ports were both damaged and no longer work. I believe they were both trying to communicate on the bus at the same time. All the details are not know. I connected a known good T3 to the bus, after removing the damaged ones, and it can communicate with the LCD just fine.
I have a hard time believing that just because there are two masters out of sync on the same buss that the I2C ports would be damaged. I am not familiar with the internal construction of the I2C ports, can someone tell me if it is even possible to damage the ports in the described manner?
Thanks for your time.