This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMP75:About data READ with I2C

Part Number: TMP75

I am trying to read temperature data by communicating between TMP75 and microcontroller.

Start condition → slave address → pointer register (temperature register) → restart → slave address → data byte 1 → data byte 2

By communicating in this order, you can receive seemingly appropriate temperature data in Data Byte 1 and Data Byte 2.

However, any bit from bit6 to bit0 of data byte 2 of the received data will be "1".
In "7.5.2 Temperature Register" of the data sheet, bit4 to bit0 are all written as "0".

Question 1: Is there a possibility that the data in the lower bit of Data Byte 2 becomes undefined?

Question 2: Currently, the resolution of temperature data is set to 9 bits.
In the case of 9bit, bit6 to bit0 of Byte2 are all “0”,
In the case of 12bit, I think bit3 to bit0 of Data Byte 2 are all "0", but is that correct?

  • Hello Hitoshi,

    For the sake of getting a better understanding of your setup, I had some questions for clarification:

    1. What temperatures is this device being tested in and how many devices are you testing with so far? If there is more than one device, do you also see this on the other(s)?

    2. Have you tried switching to any other resolution (10,11 or 12) to check if you are still seeing the 1's in the data?

    3. What mode is the device being used in? (One shot, continuous etc.)


    Harry Gill

  • Mr. Harry Gill
    Sorry for the delay in my reply.

    I made a fundamental mistake at work. When I checked the IC, I found that it was using AnalogDevice's LM75 instead of TMP75.

    My company has a product that uses LM75 and TMP75, but I had a misunderstanding.
    In the LM75, bits 6 to 0 of data byte 2 are "undefined", so even if the temperature data is "1", it is considered normal.

    Based on the above, I believe that this question has been resolved for the time being.
    Thanks for your cooperation.

    It may be a little trivial, but to answer your question,
    The operating environment of the board is 10 to 40 degrees Celsius.
    Device mode is configuration register = 0x00 and temperature data is read only once.
    I've only tried it on one board, so I don't know if it will work on other boards.
    I also tried it at 10 bit resolution, but the result was the same as 9 bit.