219 | | |
220 | | |
221 | | |
| 219 | どうやるか試行錯誤して、I2Cプロトコルにおける設定(書き込み)は、書き込みアドレスの後ろに設定データを付けて送ればいいことを思い出した。[[br]] |
| 220 | |
| 221 | {{{ |
| 222 | In [25]: h.write([0xD0, 0x48, 0x06, 0x02, 0x03,0x80,0x00,0x00]) |
| 223 | Out[25]: 8 |
| 224 | In [26]: h.write([0xC2, 0x48, 0x06, 0x04, 0x00]) |
| 225 | Out[26]: 5 |
| 226 | In [27]: h.read(64) |
| 227 | Out[27]: [208, 4, 13, 75, 128, 128, 0, 0] |
| 228 | }}} |
| 229 | |
| 230 | レジスタ設定後にデータを読み出すと、Configuration Registorが128(0x80)となっていて、16bitになっていることがわかる。[[br]] |
| 231 | 16bit時の計算式は、 |
| 232 | |
| 233 | {{{ |
| 234 | ADC_DEC = ((HSB<<8) | LSB) |
| 235 | |
| 236 | Positive_Temp[℃] = ADC_DEC /128 |
| 237 | Negative_Temp[℃] = (ADC_DEC - 65536)/128 |
| 238 | }}} |
| 239 | |
| 240 | となる。計算式に当てはめると、{{{LSB=75,HSB=13}}}の場合、{{{26.5859375[℃]}}}となる。[[br]] |
| 241 | |
| 242 | これで、FT260をつかったI2Cデバイスの制御に必要なコマンドは全て使い方が分かった。 |