micro:bit / I2C バス / オンボード加速度計 / I2C バスから WHO_AM_I レジスタの値を読み取ってみる / mbed

f:id:ti-nspire:20180530142004p:plain:w400
f:id:ti-nspire:20180530142104p:plain:w400

#include "MicroBit.h"
MicroBit uBit;

int main(void){
    uBit.init();
 
    char buf[] = {0x0d};
    uBit.i2c.write(0x1d<<1, buf, 1, true);
    uBit.i2c.read(0x1d<<1, buf, 1);
    printf("ID %X\n", (int)buf[0]);

    release_fiber();
    return 0;
}

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