I/O expander not working with PIC micro-controller

Question: Why can't I use the I/O expander with the PIC controller ?

 

Answer:

In the Port Expander device, the I2C slave stretches the clock.

"Clock stretching" is a phenomenon allowed in I2C, where the slave device stretches the SCL after every 8 clocks while being written to and on the 9th clock when the mater is reading.

The Master device has to support the clock stretching feature. The controller which you are using might not support clock stretching, to enable this feature use the attached example APIs which incorporates clock stretching feature in the PIC16F8XX series.