PIC Microcontroller Input / Ouput Methods for I2C

Tony Kübek, Flintab AB says:

According to the data for the F876, regarding the SPI module I paraphrase ( DS30292-A page 66 ):
" - SDI is automatically controlled by the SPI module "

Then after the table it states:

"Any serial port function that is not desired may be overridden by programming the ....TRIS register to the opposite value"

I just spent 3 hour tracking down the obvious bug of setting the SDI as an output ( as I only read the first paragraph ). Is it only me ( I'm not native English ) but aren't these statements actually wrong ? ( they opposite each other ).

Anyway, if anyone cares here the lesson: ALWAYS ( exept UART TX/RX ;-) ) set the pin they way you will use it, i.e. outputs ( ex. SDO ) should have TRIS bit cleared, inputs ( ex. SDI ) should have TRIS bit set.

16f87x MPLAB macros by John Sand

Non PIC specific I2C