We have 4 identical boards using the same firmware. However, 2 of the boards fail to communicate with our PCF8574 chips.
I’ve debugged the code down to this line of code: I2C1_C1 |= I2C_C1_IICEN_MASK;
All I2C registers are identical up to this line of code.
This line “Enables I2C module operation”. On the two boards that work correctly, this bit is set as expected. On the two boards that fail, this bit gets set, but ALSO the Status Register’s Busy flag gets set.
I feel that this busy flag is trying to tell me something, but I'm not sure how to interpret it in this case.