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.

I use the HDC1080 and i get wrong values from Humidity register in the second read operation

Other Parts Discussed in Thread: HDC1080

Hello!

I want read the temperature and the humidity register with one read operation.

After initializing the HDC1080 i start the read operation and i get the correct results from the temperature- and the humidity register.

One second later i start only the read operation again, in this case i got the right result from the temperature register but a wrong value from the humidity register. The value of the humidity registers is 255(MSB) and 255(LSB).

Here are my routines step by step:

START
Addresbyte write (0x80)
Config Register write (0x02)
Data write (0x10)  // Read Temp. 14 Bit + Hum. 14Bit
STOP

START
Addresbyte write (0x80)
Config Register write (0x00)  // Pointer to Temp. Register
Data write (0x10)  // Read Temp. + Hum
REPEATED START
Addresbyte read (0x81)
Read MSB-Databyte Temp.  // ACK
Read LSB-Databyte Temp.  // ACK
Read MSB-Databyte Hum.  // ACK
Read LSB-Databyte Hum.   // NACK
STOP


Hope, somebody can give me a hint what's wrong!

Thank you

  • Hi Heimo,

    the correct procedure should be:

    START

    Addresbyte write (0x80)

    Config Register write (0x02)

    Data write (0x10)  // Read Temp. 14 Bit + Hum. 14Bit

    STOP

    START

    Addresbyte write (0x80)

    Config Register write (0x00)  // Pointer to Temp. Register

    STOP

    WAIT 15msec

    START

    Addresbyte read (0x81)

    Read MSB-Databyte Temp.  // ACK

    Read LSB-Databyte Temp.  // ACK

    Read MSB-Databyte Hum.  // ACK

    Read LSB-Databyte Hum.   // NACK

    STOP

    Please let me know if this solves your issue.

    Best regards,

    Carmine