This project has several I2C peripherals but I only have implemented one and worked with no problems. I just added 2 more modules with two different addresses. These two modules are initiated just before than the older one that I had. I set up my logic analyzer to see was going on and to make sure that the MCU was talking to modules, the logic analyzer showed no problems, then I looked at the older module and with disgust I saw that the stops and starts were in wrong location. I commented out the new modules from the program and reload it into the MCU, no problems with the old nodule. Added the new modules, problem with the old module. I thought that I have made a mistake on the programing of the new modules. I've included a picture of this problem. Something was weird as I can recognize the start sequence and looked ok to me, I went to see if it was something wrong with the I2C setup, without changing anything came out of the setup and averithing was ok, starts and stops in the correct position. Attached is a picture of that.
As anyone encountered similar problem? Is there a solution?