Si trabajaste con otros PICs entonces sabrás que tenes un modulo que te permite comunicarte con I2C e identificaras los pines necesarios.
Sobre la programación del dsPIC deberías tener funciones para iniciar el I2C, sino vas a tener que modificar registro por registro y crear las funciones para el I2C (funciones como start,enviar, recibir,stop,etc).
Sobre que enviar al TMP100 lo tenes en el datasheet:
http://www.ti.com/lit/ds/symlink/tmp100.pdf ( pagina 13 )
Tenes ejemplos de la lectura y de la escritura.
Observaras que todo comienza con un START luego un byte con la direccion del dispositivo y el ultimo bit indicando si es lectura/escritura. Luego tenes el puntero de la memoria que queres escribir y de alli irian los datos finalizando con un STOP.
Resumen:
START
Byte Direccion+R/W
(Aca te responde el TMP con un ACK o NACK)
Byte con puntero a memoria
(Aca te responde el TMP con un ACK o NACK)
Dato
(Aca te responde el TMP con un ACK o NACK)
Dato
(Aca te responde el TMP con un ACK o NACK)
STOP
Para la lectura es parecido, pero esta ves vas a tener que leer en ves de escribir en la parte de los datos. Y cambiar el estado del bit R/W a lectura.
- Algunas consideraciones, necesitas cambiarle la direccion a los TMP, lo haces con los pines ADD0/1.
- Recorda los pull-ups de ambas lineas, la de datos ( SDA) y la de clock ( SCL )
Y si nunca trabajste con el micro dsPIC entonces comenza por algo basico, la documentacion de estos PICs ya no vienen en un solo PDF, sino que cada modulo posee un PDF aparte.