B-L475E-IOT01A - Not acknowledged received sometimes while writing the I2C slave address using non-blocking interrupt mode


I am trying to get data from the onboard sensors of B-L475E-IOT01A ( STM32L4 Discovery kit for the IoT node) using non blocking interrupt mode.

I am able to get data, but after some time (not fixed), the HAL_I2C_Master_Transmit_IT which is used to write the slave address returns NACK error.

This problem can be solved by re-initialising the I2C bus every time a NACK is faced.

There is no such issue when I try to read the registers in blocking mode i.e. using HAL_I2C_MEM_READ.

I want to know the problem occurring in the case of non-blocking mode.