I am curious if the SAMB11 has a multi-master mode for the I2C bus. I have 3 sensors hanging off the bus that I can query with an external logic analyzer when the appropriate B11 pin is in tristate. Each of the slave devices comes back with appropriate responses to their slave address.
However, when I enable the I2C module on those pins, 2 of the 3 parts respond to their slave address correctly. The really weird thing is that when I scan the bus for devices ( with the logic analyzer) I get responses for 4 devices -- the 2 that had always responded correctly, and 2 new ones.
Let me illustrate:
-Scanning bus with I2C pins on B11 in tristate, I get responses from 0x19, 0x30 and 0x69. All of these are expected and correct.
-Scanning the bus with I2C pins on B11 enabled and the runstate halted at a breakpoint after successful I2C config and enable, I get responses from - 0x19, 0x30, 0x59 and 0x70.
Where in the heck are 0x59 and 0x70 coming from? Also, 0x69 has disappeared all together....
After uninitializing the I2C bus, a scan will net responses from 0x19, 0x30 and 0x69 again.