I have a TMP100 connected to a PIC32 chip. I think that at least most communication is happening properly. Write 0h92 then 0h00 to the bus and I get an Ack. Write the wrong address and no ack, good sign. Write 0h93 to the buss and I get an Ack. Read data and I get a byte, send an Ack then I get another byte. All this looks like I am functioning properly.
Looking at the first byte, based on the tech documents, it should in effect be the temperature in DegC. Its not. At an ambient of ~20C, I get a temp of 47C. Blow a heat gun @ 37C and the temperature goes down by 9C to 38C. The actual binary data is 0010111 for ambient and 00100110 at 37C. Please note the 2nd temp is not at all exact.
The 2nd byte is always a 1 or a 0 followed by 7 zeros which is a reasonable output if the default is 9 bit resolution. Reading the config results in 10000000 which would indeed imply that the register is set at 9 bits by default.
Do I simply have a bad chip or would something else cause sporadic temperature outputs?