ZHCSYW7 September 2025 TMP461-EP
PRODUCTION DATA
TMP461-EP 温度寄存器使用 12 位格式。12 位与 16 位字的左侧或最高有效侧对齐。4 个未使用的位位于右侧,即最低有效侧。因此,需要进行移位来丢弃额外的位。采用二进制补码来描述负温度。在数据转换为正确的有符号数据类型时,C 代码可以轻松转换二进制补码数据。Q 表示法描述了表示分数结果的位数。4 位分数数据(称为 Q4)可提供 0.0625°C 分辨率。
参数 | 值 |
|---|---|
| 位 | 12 |
| Q | 4 |
| 分辨率 | 0.0625 |
| 范围 (+) | 127.9375 |
| 范围 (-) | -128 |
| 第一个字节整数 C | 是 |
| 25˚C | 0x1900 |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 符号 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 0.5 | 0.25 | 0.125 | 0.0625 | - | - | - | - |
| -128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 1/2 | 1/4 | 1/8 | 1/16 | - | - | - | - |
-27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 2-1 | 2-2 | 2-3 | 2-4 | - | - | - | - |
/* 12-bit format has 4 bits discarded by right shift
q4 is 0.062500 resolution
the following bytes represent 24.5C */
uint8_t byte1 = 0x18;
uint8_t byte2 = 0x80;
float f = (((int8_t) byte1 << 8 | byte2) >> 4) * 0.0625f;
int mC = (((int8_t) byte1 << 8 | byte2) >> 4) * 1000 >> 4;
int C = (int8_t) byte1;