Hi,
To expand on Dave's answer a bit... If you're using the I2C peripheral (MSSP module) in the PIC then you must use the pins to which this peripheral is connected (on some PICs you can switch them to alternative pins but I don't think that's possible on the 16F886). If you're using I2CWRITE/I2CREAD, which is bit-banged and doesn't use the MSSP module, you can use "any" pins you want - as long as the pin used for clock can be an output and the pin used for data both in (for I2CREAD) and out (for I2CWRITE).
It's true that the MSSP module (the SCL/SDA pins) HAVE to be used when the PIC is the slave but it CAN equally well be used when the PIC is the master. However, there are no PBP commands to directly "drive" the use of the MSSP module (like there is for the USART etc).
/Henrik.
Bookmarks