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.

TMP432: For the reading operation between two continued registers

Part Number: TMP432

Hi Sir,

I have a question about TMP432,
For the local channel, it tmp register is 0x00, and for the remote channel 1 is 0x01,
Since these two registers are between to each other,
Can I read two bytes of the register 0x00 to represent the register valus of 0x00 and 0x01?
For the first one byte, is the tmp value of the 0x00, And the second one is the tmp value of the 0x01,
Is this reading action is correct or wrong? Pleas help to advice it, thank you,

Regards,
Samuelson

  • Hello Samuelson,

    Yes, that should be possible as given in Fig-16 of the datasheet.
  • Hi Samuelson,

    Generally speaking, I2C temperature sensors have such small register maps that implementing multi-byte read with an auto-incrementing pointer doesn't make sense. It's better to assume that the device won't behave this way, unless the datasheet specifically states otherwise.

    In the case of TMP432, setting the pointer to 0x00 and performing a read transaction will return Register 0x00 followed by Register 0x29. These are Local Temperature High and Low byte respectively, which provides a fractional temperature result. It's not necessary to read both bytes if you're not interested in fractional temperature. If more than two bytes are requested, the device will respond with 0xFF to all subsequent bytes.

    Similarly, setting the pointer to 0x01 and performing a two byte read transaction will return Register 0x01 followed by Register 0x10. This is described in Section 8.6.2 on Page 23 of the datasheet.

    Thanks,
    Ren
  • Hi Amit, Ren,

    Thank you for your advice,

    Regards,
    Samuelson