2017-06-06 2:20 AM
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?
#mcu #stm32f4 #i2c #stm32f4-discovery2017-06-09 5:25 AM
Hi
McGinnis.Julian
,Are the I2C pins pulled-up and the required capacitance put in your custom board?
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.