the read problem of Ak8975

By kwesi , 9 May 2012

this is my initialize AK8975 code , but I can't read AK8975_DEFAULT_ADDRESS(0x48) from AK8975_RA_WIA(0x48)

I set Bypass ,but it don't work.

what can I do?

setUSER_CTRL(DeviceID,MPU6050_DMP_EN_RESET, MPU6050_FIFO_EN_RESET, MPU6050_I2C_MST_EN_RESET, MPU6050_I2C_IF_DIS_SET, MPU6050_DMP_RESET_SET, MPU6050_FIFO_RESET_SET, MPU6050_I2C_MST_RESET_SET, MPU6050_SIG_COND_RESET_SET);

setINT_PIN_CFG(DeviceID,MPU6050_INT_LEVE_RESET,MPU6050_INT_OPEN_RESET,MPU6050_LATCH_INT_EN_RESET,MPU6050_INT_RD_CLEAR_RESET,MPU6050_FSYNC_INT_LEVEL_RESET,MPU6050_FSYNC_INT_EN_RESET,MPU6050_I2C_BYPASS_EN_SET,MPU6050_CLKOUT_EN_SET);


setCNTL(AK8975_DEFAULT_ADDRESS, AK8975_MODE_SINGLE);

setUSER_CTRL(DeviceID,MPU6050_DMP_EN_RESET, MPU6050_FIFO_EN_RESET, MPU6050_I2C_MST_EN_SET, MPU6050_I2C_IF_DIS_SET, MPU6050_DMP_RESET_SET, MPU6050_FIFO_RESET_SET, MPU6050_I2C_MST_RESET_SET, MPU6050_SIG_COND_RESET_SET);


setI2C_SLV0_ADDR(DeviceID, MPU6050_I2C_SLV0_RW_RESET, AK8975_DEFAULT_ADDRESS);

setI2C_SLV0_REG(DeviceID, 0x03);

setI2C_SLV0_CTRL(DeviceID ,MPU6050_I2C_SLV0_EN_SET ,MPU6050_I2C_SLV0_BYTE_SW_RESET, MPU6050_I2C_SLV0_REG_DIS_RESET, MPU6050_I2C_SLV0_GRP_RESET, MPU6050_I2C_SLV0_LEN_6 );

phpbb Topic ID
14364