Skip to main content
ausera uirwaij
Associate III
May 25, 2022
Question

F429 I2C bug

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, .

This topic has been closed for replies.

2 replies

Amel NASRI
ST Technical Moderator
May 25, 2022

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 "Best Answer" on the reply which solved your issue or answered your question.
ausera uirwaij
Associate III
May 27, 2022

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 .