ZHCSXM2A December 2024 – April 2025 TMP118
PRODUCTION DATA
Temp_Result 寄存器使用 16 位格式。溫度數據由一個最低有效位 (LSB) 等于 0.0078125°C 的 16 位二進制補碼字表示。溫度讀數中包含小數值,其表示方法是使用 Q 符號,這是一種表示值小數部分長度的簡單方法。采用二進制補碼來描述負溫度。在數據轉換為正確的有符號數據類型時,C 代碼可以輕松轉換二進制補碼數據。有關使用 Q 符號來解碼數字溫度數據的更多詳細信息,請參閱如何讀取和解釋數字溫度傳感器輸出數據。
請注意,加電或者復位后,在首次轉換完成前,溫度寄存器讀數為 0°C。另請注意,解碼方案允許溫度測量超出 -40°C 至 125°C 的建議工作溫度范圍,但如果超出該范圍,則無法保證器件的性能。
| 參數 | 值 |
|---|---|
| 位 | 16 |
| Q | 7 |
| 分辨率 | 0.0078125 |
| 范圍 (+) | 255.9921875 |
| 范圍 (-) | -256 |
| 25?C | 0xC80 |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 符號 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 0.5 | 0.25 | 0.125 | 0.0625 | 0.03125 | 0.015625 | 0.0078125 |
| -256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 1/2 | 1/4 | 1/8 | 1/16 | 1/32 | 1/64 | 1/128 |
-28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 2-1 | 2-2 | 2-3 | 2-4 | 2-5 | 2-6 | 2-7 |
C Code Examples:
/* 16-bit format has 0 bits discarded by right shift
q7 is 0.0078125 resolution
the following bytes represent 24.5C */
uint8_t byte1 = 0xC;
uint8_t byte2 = 0x40;
float f = ((int8_t) byte1 << 8 | byte2) * 0.0078125f;
int mC = ((int8_t) byte1 << 8 | byte2) * 1000 >> 7;
int C = ((int8_t) byte1 << 8 | byte2) >> 7;表 7-3 以二進制和十六進制格式顯示了一些示例溫度和轉換后的寄存器值。轉到基于 TMP118 GUI 的代碼生成器,查找不受 MCU 約束的 C 代碼驅動程序。
| 溫度 (°C) | 數字輸出(二進制) | 十六進制 |
|---|---|---|
| 125 | 0011 1110 1000 0000 | 3E80 |
| 100 | 0011 0010 0000 0000 | 3200 |
| 80 | 0010 1000 0000 0000 | 2800 |
| 75 | 0010 0101 1000 0000 | 2580 |
| 50 | 0001 1001 0000 0000 | 1900 |
| 25 | 0000 1100 1000 0000 | 0C80 |
| 0.25 | 0000 0000 0010 0000 | 0020 |
| 0.0625 | 0000 0000 0000 1000 | 0008 |
| 0.0078125 | 0000 0000 0000 0001 | 0001 |
| 0 | 0000 0000 0000 0000 | 0000 |
| -0.0078125 | 1111 1111 1111 1111 | FFFF |
| -0.0625 | 1111 1111 1111 1100 | FFF8 |
| -0.25 | 1111 1111 1110 0000 | FFE0 |
| -25 | 1111 0011 1000 0000 | F380 |
| -40 | 1110 1100 0000 0000 | EC00 |