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?