AnsweredAssumed Answered

STM32F0 CPAL I2C Slave

Question asked by stysiak.dawid on Dec 14, 2013
I have two boards with STM32F0 connected by I2C. First board works like master, second works like slave. I use CPAL library and transmission works fine during normal state. When I make some disturb on the I2C lines during active transmision (for example reset master) slave hangs. I see that slave enter CPAL_TIMEOUT_UserCallback. In this callback I deinit and init I2C controller interface - CPAL_I2C_DeInit - CPAL_I2C_Init (code is similar like in Two boards example) and then I see that both or one I2C lines are pulled down by slave all the time and flags BUSY in I2C_ISR is set. In this situation helps only RST. Second solution is deinit and init I2C controller after some time. Why deinit and init in timeout callback does not work?

Outcomes