We met some problem when used LSM303C. We operated LSM303C go to power-down mode after the module power on . Generally , the LSM303C current consumption is about 6 uA which is consistent with the datasheet electrical characteristics table. But sometimes the current consumption would increase to 48 uA after the module power on. And it seems that the acceleration module didn't work well for reading accelerometer Who_AM_I register to get 0x00 but not 0x41. What may cause this phenomenon. Please give us some guide advice.
Our operating codes are as follow:
I2C_WriteOneByte(lsm303_acc,LSM303C_CTRL_REG5_A, 0x40);//Soft reset
I2C_WriteOneByte(lsm303_acc,LSM303C_CTRL_REG6_A, 0x80);//Force reboot
I2C_WriteOneByte(lsm303_mag,LSM303C_CTRL_REG2_M, 0x0c);//Reboot memory content, And register reset
I2C_WriteOneByte(lsm303_acc,LSM303C_CTRL_REG1_A, 0x00);//power down
I2C_WriteOneByte(lsm303_mag,LSM303C_CTRL_REG3_M, 0x03);//power down