A lot of the newer PICs have a hardware I2C port. The 18F8722 for example, has two ports. Microchip calls these "SSP" or "MSSP" ports.
Just as SERIN and SEROUT use pure software to manipulate ports, I2CREAD and I2CWRITE use software to simulate a true hardware I2C port. Since everything is done in software, the processor is tied up 100% of the time during the entire operation.
HSERIN and HSEROUT use the PIC's USART. If these are used, the software simply needs to write to or read from a register, and hardware takes over to send or receive the bit stream. From a processor standpoint, HSEROUT is hundreds of times faster than SEROUT.
The same thing is true with I2C. If you can use the PIC's built-in hardware to do the task, it is MUCH quicker than using I2CREAD and I2CWRITE.
Unfortunately, I'm in the process right now of learning how to use the specialized I2C hardware. As a result, I'm not much of a resource (at least not today) when it comes to actual implementation.




Bookmarks