stm32f103cbt6, i2c1 in slave receiver mode. BERR flag incorrect behavior.
stm32f103cbt6, i2c1 in slave receiver mode. CubeIDE, stm32f1 pack ver 1.8.4. I use HAL_I2C_Slave_Receive_IT to receive 1(adr)+2 bytes. I2C standard mode. Both err and evt interrupts enabled. I2C stucks into bus error (BERR flag). Jumping over HAL code figured out that ADDR, RXNE, STOPF events happen and handled and looks like correct data arrived but is not passed to application because of BERR. What was taken into consideration: 1. Pullup resistors 10K replaced to 1K, 2.SCL freq 3KHz-100KHz, 3.All configurations made in CubeIDE device configuration tool. 4. ADDR in the tool must be set divided by 2 to make i2c receive correctly.
What are exact reasons of BERR flag? Does it just detect SDA changes on SCL=1 or something else?
