AnsweredAssumed Answered

Implementing Repeated Start on an STM32 F0 I2C Slave

Question asked by Zikhali on Jun 30, 2017

I'm currently working on a driver on an STM32F0 that joins the I2C bus as a slave device. Currently there is no mention in the reference manual on how to handle a Repeated Start Condition, does anyone know how to?

I am currently handling the I2C request in the AddressCallback and am able to make it work when all the frames are terminated by a Stop Condition but when I try to detect a Repeated Start using the NACK flag (From RM: The bit is set by software, cleared by hardware when the NACK is sent, or when a STOP condition or an Address Matched is received, or when PE=0.), the ADDR flag of the I2C is never set meaning the ISR is never called again. Clock stretching is also enabled.

Outcomes