温湿度センサー HTU21D / ユーザーレジスタの内容を読み出してみる / micro:bit / mbed

  1. 基板上のパターンをカットしてプルアップ抵抗を無効にする(モジュール基板はマルツ製)。
    f:id:ti-nspire:20180605142542j:plain:w200
  2. ためしにユーザーレジスタの内容を読み出してみる。デフォルト値である 0b 0000 0010 (0x2) が返ってくるはずである。
    f:id:ti-nspire:20180601125222p:plain:h200
    f:id:ti-nspire:20180601125308p:plain:h200
    f:id:ti-nspire:20180605142649p:plain:w300
#include "MicroBit.h"

#define DeviceAddr  0x40<<1
#define ReadUserReg 0xe7

MicroBit uBit;

int main(void){
    uBit.init();

    char buf[] = {ReadUserReg};

    uBit.i2c.write(DeviceAddr, buf, 1); 
    uBit.i2c.read (DeviceAddr, buf, 1);

    printf("User Register: %X\n", buf[0]);
    
    release_fiber();
    return 0;
}

実行結果:
f:id:ti-nspire:20180605140816p:plain:w400

データシート:
HTU21D(F) RH/T SENSOR IC
参考:
Micro: Bit Iot in C, pp.91-101