Que tal amigos!
Amigo guancho2002 tienes una sopa de arroz con mango

en tu ultimo post declaras las variables en pic basic pro y luego utilizas el hstart entre otras que pertenecen al proton

Tienes primero que nada definir en que lenguaje vas a realizar el proyecto, en pic basic pro o proton,
te recominedo el proton porque tienes muchas cosas buenas

Ahora bien con respecto a tu codigo el proton tiene varias instrucciones para realizar la comunicacion por i2c, entre ellas tenemos el busin, el busout, el i2cread, el i2cwrite las cuales son rutinas hechas por software y el hbusin y hbusout, entre otras, que son soportadas solo por micros que posean modulo mssp.
Ahora bien todas ellas operan como master dentro de un bus i2c, asi que si quieres realizar una comunicacion i2c entre dos micros debes definir uno como master (aqui se te facilita la cosa

)
y el otro como slave, como el proton no posee ninguna instruccion que maneje el i2c como esclavo directamente, debes programar tu el micro para que opere de esa forma, la recomendacion es que utilices un micro que tenga modulo mssp para que asi puedas configurar el micro como slave mas facilmente

Vi que eso es lo que intentabas en tu primer post.
En la carpeta de samples de proton aparece un ejemplo de como configurar el pic como esclavo te recominedo que le heches una ojeada.
Espero haberte esclarecido el panorama

Saludos