AnsweredAssumed Answered

MKE02Z64 I2C issue

Question asked by Davide Ferrario on Jul 16, 2019
Latest reply on Jul 17, 2019 by Jing Pan

Hello,

 

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.

Outcomes