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 |