I'm working on a project that use MKE02Z64VLC4 MCU and I2C0 bus as master to communicate with two devices.
I'm using MCUXpresso Software Development Kit Rev. 2.6.0 and I2C_MasterTransferNonBlocking.
What I see is that I2C seems to be a little unstable. I am making an heavy use of I2C.
What I see is that I2C works for a while at startup; but after some seconds the "I2C_MasterTransferNonBlocking" routine is getting "kStatus_I2C_Busy" result.
I tried to debug a little and I see that the cause is into "I2C_MasterStart" function; the first if statement of this function is true and then I get "kStatus_I2C_Busy" result:
/* Return an error if the bus is already in use. */
if (0U != (statusFlags & (uint32_t)kI2C_BusBusyFlag))
result = kStatus_I2C_Busy;
I tried to search for some example of I2C Master in interrupt with error handling but I can not find something.