You are confusing hardware features with compiler capability.
Some PIC's have an MSSP or SSP built in to them. The MSSP allows them to be a master i2c through hardware. Doing it through hardware allows the PIC to "multitask" by giving you processor time while the hardware does the work. The SSP only allows slave i2c, which I learned the hard way, and it's basically useless for communicating with eeprom.
The compiler has a command that performs i2c tasks in software. By doing it in software, that gives you the flexibility to do functions with PIC's that don't have the hardware to do it. However, the trade-off is that during the sending time, it consumes 100% of the processing time. (This is what I ended up doing with my PIC that had the SSP.)





Bookmarks