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.

[参考译文] TMP461:温度低字节值是有符号整数还是无符号整数?

Guru**** 2604225 points
Other Parts Discussed in Thread: TMP461

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/602877/tmp461-are-temperature-low-byte-values-signed-or-unsigned-integers

器件型号:TMP461

是否有人可以澄清 TMP461中温度的低字节值是有符号整数还是无符号整数?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    低字节值无符号。 低字节分辨率为每计数0.0625°C。

    高字节值是有符号的。 分辨率为每计数1°C。 负数以二进制补码格式表示。

    开尔文
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我假设在 MSB (位[11:4])和 LSB (位[3:0])寄存器中拆分的所有与温度相关的12位值都是这样、对吧?
    例如:
    远程温度偏移寄存器(高字节)(地址0x11)是一个带符号的整数、步长为1摄氏度
    远程温度偏移寄存器(低字节)(地址0x12)是无符号整数(位[7:4])、阶跃为0.0625摄氏度
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    阿尔茨西姆、

    我的回答不准确。 在标准模式下、高字节和低字节组合在一起时代表一个单个12位有符号值(在我们抽取低字节中的最后4位之后)。 ADC 结果的位[11:4]存储在高字节中、ADC 结果的位[3:0]存储在低字节位[7:4]中。

    开尔文
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很好、它使它更加直接。 因此、只需仔细检查:

    如果测得的局部温度为-14.25摄氏度、则其12位有符号表示为0b111100011100、将按如下方式存储:
    地址0x00、本地温度寄存器(高字节)、位[7:0]为0b11110001
    地址0x15、本地温度寄存器(低字节)、位[7:4]是0b1100
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、正确。
    14.25存储为0x0E.40 (14/1=0x0E、0.25为0.25/0.0625 = 0x04、但左对齐后变为0x40;总共为0x0E.40)

    或者、您只需执行14.25/0.0625=228=0xE4、然后用最后四个空位填充它、得到0x0E.40。

    -14.25存储为0xF1.C0 (二进制补码)

    检查结果:


    在抽取最后4位后:
    0xFF.1C =-228
    -228 CODE*0.0625C/CODE=-14.25C (已检出答案)

    开尔文