30 Dec
2015
30 Dec
'15
10:49 p.m.
Hi!
I have these initializations for the I2C and the Gpio pins: """ I2cMaster2::initialize<systemClock, 100000>();
GpioB10::connect(I2cMaster2::Scl); GpioB11::connect(I2cMaster2::Sda); """
Do I need anything else?
No, although we usually do SDA connect, SCL connect, I2cMaster initialize. Reason: On SCL connect 9 clock strobes are sent which allow all slaves to release SDA if held low. (See xpcc::I2c::resetDevices() in architecture/interface/i2c.hpp for details). But that shouldn't result in the problems you have.
Turns out this was actually the problem! I reordered the initialization the way you suggested and it just started working. I'll probably be back with more questions soon... :)