We are using the I2C feature in a KL03 Kinetis processor. Some of our boards have pull up resistors on the I2C data and clock lines. Some do not. All boards are running the same code which activates the KL03 Kinetis internal pull up/down resistors and connects the pull up resistor in particular. This pull up resistor is assumed to be between 20K and 50K ohms. Roughly 8 to 10 times the normal I2C pull up. Still, I would have expected marginal to good results as there is only one slave on the bus which is likely less then 2 cm long. The activity we saw on the bus could be attributed to noise. After installing physical pull up resistors external to the processor the bus behaved as expected.
When switching in the I2C feature on the KL03 are we also switching out all other pin features? In this case, specifically, the pull up / down feature?
In general, exactly what can we expect when switching in other KL03 features for the default pin function? Are features like pin direction, pull up / down resistors and output states controlled by the switched in feature. Or are they still the responsibility of the programmer?