STM32F429 i2c master transmit always returns busy
Hi,
I'm using STM32F429 to talk to TI BQ40Z50 via I2C, and I ran into an issue I have no clue.
First of all, the code simply reads registers, and it works on TI BQ20Z95. The same code doesn't work on BQ40Z50. The HAL library always returns HAL_BUSY, and the error code is 32 (timeout). However, the logic analyzer doesn't have any waveforms. Both SCL and SDA are held high the entire time.
The most puzzling part is that if I disconnect the BQ40Z50, let the STM read registers (reads nothing obviously) several times, and connect the chip back. It works like a charm.
any suggestions I can try?
The I2C is running at 100KHz, with internal pull-up registers.
Thanks!
