TMP100 是一顆用來量測溫度的 IC,具有 I2C 接口可以讀取溫度數值。
Slave Address
| ADDR1 | ADDR0 | address |
| 0 | 0 | 0x90(1001000) |
| 0 | float | 0x92(1001001) |
| 0 | 1 | 0x94(1001010) |
| 1 | 0 | 0x98(1001100) |
| 1 | float | 0x9A(1001101) |
| 1 | 1 | 0x9C(1001110) |
| float | 0 | 0x96(1001011) |
| float | 1 | 0x9E(1001111) |
TMP100 的值只有四組,address 則由 Point Register 控制,其實說穿了根本就跟一般的存取動作一樣;也就是 slave address, point register, slave address, data 的方式做存取動作。
Point Register | R/W | Description |
| 0 | R | Temperature Register |
| 1 | R/W | Configuration Register |
| 2 | R/W | T/LOW Register |
| 3 | R/W | T/HIGH Register |
Temperature Register
Temperature Register 只能讀取,其值是現在溫度,有正負數值。一次要讀二個 byte,第一個 byte 表示整數值的溫度,第二個 byte 的 bit(7~4) 表示小數值,bit(3~0) 沒用到。所以一般只讀一個 byte 即可,不用讀第二個 byte。
| Temerature (°C) | byte 1 | byte 2 |
| 128 | 01111111 | 11110000 |
| 127.9375 | 01111111 | 11110000 |
| 100 | 01100100 | 00000000 |
| 25 | 00011001 | 00000000 |
| 0.25 | 00000000 | 01000000 |
| 0 | 00000000 | 00000000 |
| -0.25 | 11111111 | 11000000 |
| -25 | 11100111 | 00000000 |
| -128 | 10000000 | 00000000 |
Configuration Register
| bit | sign | Description |
| 7 | SD | Shutdown Mode |
| 6 | TM | Thermostat Mode |
| 5 | POL | Polarity |
| 4 | F0 | FAULT QUEUE |
| 3 | F1 |
| 2 | R0 | Converter Resolution |
| 1 | R1 |
| 0 | OS | OS/ALERT |