2012年10月17日水曜日

LIS331HHとL3G4200Dのアドレスマップ

STMicro製加速度センサのLIS331HHと
STMicro製角速度センサのL3G4200Dのアドレスマップです

両方共スイッチサイエンスで買うことができます

範囲が広いので様々な用途に使えそうなセンサ


アドレスマップ メモっときます






typedef enum {
    /* Reserved (do not modify) */
    LIS331HH_CTRL_REG1 = 0x20,
    LIS331HH_CTRL_REG2,
    LIS331HH_CTRL_REG3,
    LIS331HH_CTRL_REG4,
    LIS331HH_CTRL_REG5,
    LIS331HH_HP_FILTER_RESET,
    LIS331HH_REFERENCE,
    LIS331HH_STATUS_REG,
    LIS331HH_OUT_X_L,
    LIS331HH_OUT_X_H,
    LIS331HH_OUT_Y_L,
    LIS331HH_OUT_Y_H,
    LIS331HH_OUT_Z_L,
    LIS331HH_OUT_Z_H,
    /* 0x2E - 0x2F Reserved (do not modify) */
    LIS331HH_INT1_CFG = 0x30,
    LIS331HH_INT1_SOURCE,
    LIS331HH_INT1_THS,
    LIS331HH_INT1_DURATION,
    LIS331HH_INT2_CFG,
    LIS331HH_INT2_SOURCE,
    LIS331HH_INT2_THS,
    LIS331HH_INT2_DURATION
    /* 0x38 - 0x3F Reserved(do not modify) */
} LIS331HH_addrMap;




typedef enum {
    /* Reserved */
    L3G4200D_WHO_AM_I = 0x0F,
    /* Reserved */
    L3G4200D_CTRL_REG1 = 0x20,
    L3G4200D_CTRL_REG2,
    L3G4200D_CTRL_REG3,
    L3G4200D_CTRL_REG4,
    L3G4200D_CTRL_REG5,
    L3G4200D_REFERENCE,
    L3G4200D_OUT_TEMP,
    L3G4200D_STATUS_REG,
    L3G4200D_OUT_X_L,
    L3G4200D_OUT_X_H,
    L3G4200D_OUT_Y_L,
    L3G4200D_OUT_Y_H,
    L3G4200D_OUT_Z_L,
    L3G4200D_OUT_Z_H,
    L3G4200D_FIFO_CTRL_REG,
    L3G4200D_FIFO_SRC_REG,
    L3G4200D_INT1_CFG,
    L3G4200D_INT1_SRC,
    L3G4200D_INT1_TSH_XH,
    L3G4200D_INT1_TSH_XL,
    L3G4200D_INT1_TSH_YH,
    L3G4200D_INT1_TSH_YL,
    L3G4200D_INT1_TSH_ZH,
    L3G4200D_INT1_TSH_ZL,
    L3G4200D_INT1_DURATION
} L3G4200D_addrMap;




これらのセンサを使うときに引っかかったポイント
マルチバイトのR/Wをする場合
アドレスと0x80でorを取る必要があります

普通に読み出そうとして変な値が出てきて数日悩んでましたorz

それ以外は特にヘンなところもないI2Cデバイスだと思います



mbedが楽すぎて挫けそうo...rz

0 件のコメント:

コメントを投稿