2024-06-25 08:41 PM
hello,my custom board using stm32mpa35faf7 i2c1, but I forget add externel pull-up resitors.
PD12--->I2C1_SCL
PE8 ---->I2C1_SDA
Now ths i2c seems don't work.
please help me
Solved! Go to Solution.
2024-06-25 10:08 PM
drive-push-pull is wrong for I2C. It is always drive-open-drain
hth
KnarfB
2024-06-25 09:32 PM
In general, this needs to be fixed by adding the missing pull-ups.
Just for testing, it may work configuring the internal pull-ups on I2C1_SDA and I2C1_SCL in CubeMX GPIO Settings. The internal pull-ups are generally too weak, but better than nothing.
You may also increase the Rise Time in CubeMX and ideally watch the singnals on a scope.
And, surely you should use the slowest mode (standard mode).
hth
KnarfB
2024-06-25 09:37 PM
I reconfig the dts tree of i2c1,use inner pull-up and 1K baurate seems not work too
2024-06-25 10:08 PM
drive-push-pull is wrong for I2C. It is always drive-open-drain
hth
KnarfB