hola cryn.... despues de mucho buscar, logre encontrar el firm de un viejo logger que habia hecho implementando un TM175, es muy parecido al TMP100, éste codigo me funciono perfectamente, es cuestion de ver el direccionamiento que vos le des al chip.
espero que te sirva. y despues comentame... saludos-
///// LEE TEMPERATURA TMP175 INTERNO ////////////////////////////////////////////
//// --- GRABA REGISTROS DE TEMPERATURA --- /////////////////////////////////////
///////// OPERACION QUE DEBE REALIZAR FEDEX PARA OBETENER LA TEMPERATURA ////////
// ESCALA EN GRADOS
// Temp=Temperatura* 0.0625; EN EL REGISTRO TEMP QUEDA LA TEMPERATURA FINAL
//////////////////////////////////////////////////////////////////////////////////
I2C_Start(); //CONFIGURA TMP175
I2C_Wr(0b10010000); //manda direccion del esclavo
I2C_Wr(0b00000001); // comando de configuracion
I2C_Wr(0b11100001); //registro de configuracion del TEMP175
I2C_Repeated_Start(); //FINALIZA CONFIGURACION TMP175
//INICIA LECTURA TMP175
I2C_Wr(0b10010000); //manda direccion del esclavo
I2C_Wr(0b00000000); // comando de lectura de temperatura
I2C_Repeated_Start(); //manda direccion del esclavo
I2C_Wr(0b10010001); // 12 11 10 9 8 7 6 5 4 3 2 1
TempH= I2C_Rd(1); // recibe el byte 1 del TMP175 |T11|T10|T9|T8|T7|T6|T5|T4|T3|T2|T1|T0|0|0|0|0|
TempL= I2C_Rd(1); // recibe elñ byte 2 del TMP175|<------- byte 1 -------->|<---- byte 2 ----->|
I2C_Stop(); //FINALIZA LECTURA TMP175
///---- acondiciona bytes recibidos -----
Lo(Temperatura) = TempL ; // conforma los dos bytes recibidos en un solo registro
Hi(Temperatura) = TempH ;
Temperatura=(Temperatura >> 4); //desplaza los cuatro bits en cero de la parte baja de los bytes recibidos