AnsweredAssumed Answered

I2C problem - calling write but no address is sent

Question asked by Embedded Engineer on Jun 6, 2017
Latest reply on Jun 9, 2017 by Amel N

Hello everyone,


I am using the STM32F429 MCU and the discovery board drivers in order to set up the I2C1 peripheral on a custom board.

I have modified the driver of the discovery to utilize pins PB6/PB7 (I2C1 instead of I2C3, modifying the clocks and GPIO configuration), apart from that I haven't modified anything! The screenshots shows that the pins must be properly initialized. (Please correct me if I am mistaken.)


After calling I2Cx_Init(), I perform a write operation on the bus: I2Cx_WriteData(uint8_t Addr, uint8_t Reg, uint8_t Value)

If I execute this instruction, I only get multiple Start and Stop operations, however no address is written onto the bus.

Please find attached the transmission using a digital scope.

When I look into the WriteData function, it calls HAL_I2C_Mem_Write, which responds with an I2C_ERROR_AF.

Does anyone have an idea what I am doing wrong?