2022-05-25 02:12 AM
Hi, i'm using stm32f429 to develop i2c communication, the mcu cannot generate START signal after running a few minutes but the SDA and SCL all high, I add the CR1 register to watch and find the CR1 cannot be modified after calling the bellowing:
breakpoint1: I2C1->CR1 |= (1<<10); // Enable the ACK
I2C1->CR1 |= (1<<8); // Generate START
breakpoint2: while (!(I2C1->SR1 & (1<<0)));
CR1 can be modified to be what I set after reset the mcu, .
2022-05-25 04:39 AM
Hi @ausera uirwaij ,
Look to the errata sheet of STM32F429 and check first that you are not facing one of the I2C limitations.
-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.
2022-05-27 05:20 AM
Thank you Amel,
I read this sheet when I encountered this problem. But just software reseting the I2C as the sheet said doesn't solve my problem .