AnsweredAssumed Answered

STM32Cube_FW_L1_V1.6.0 I2C Error

Question asked by Platzer.Wolfgang on Jul 26, 2016
Hello,
I am using STM32L151RCT6 for communicating to an I2C slave.
With last STM32Cube  release V1.5.0 everything works fine. But with new version I always get HAL_TIMEOUT when I call method HAL_I2C_Master_Transmit() in file stm32lxx_hal_i2c: 

I debugged through these calls:
597:   HAL_I2C_Master_Transmit()
636:   call I2C_MasterRequestWrite()
4601: call I2C_WaitOnMasterAddressFlagUntilTimeout()

And I2C_WaitOnMasterAddressFlagUntilTimeout() always results in a HAL_TIMEOUT. And after that timeout the SR2->BUSY flag is set and never gets reset. Only a hardware reset clears this bit.

Is this a known problem? Why are there so many changes in the I2C implementation of version 1.6?

Thanks,
Wolfgang

Outcomes