AnsweredAssumed Answered

How to use 2G, 4G, 8G modes in MMA8451Q Accelerometer?

Question asked by Amit Kumar on Nov 14, 2013
Latest reply on Nov 22, 2013 by Tomas Vaverka


I am using code warrior with processor expert, I am using the MMA8451Q Accelerometer library in PE. I printed 100 values of the accelerometer's reading in same position without even touching it, and programatically after 100 readings the mode changed from 2 to 4 and later 8G, but in all 3 sets of values the readings are differing for more than 250 values. but ideally all the 100 values should remain the same. So I want to know how to overcome this problem? I tried changing modes from 2g, 4g, 8g but in all three case the values are differing a lot so I wanted to know how to use these diff. modes ? some required piece of code I am posting below


#define MMA8451_I2C_ADDR   (0x1D) /* I2C slave device address as set in the properties */

#define XYZ_DATA_CFG 0X0E

#define EIGHT_G 0X02

#define FOUR_G 0X01

#define TWO_G 0X00


after init function i used

GI2C1_WriteByteAddress8(MMA8451_I2C_ADDR, XYZ_DATA_CFG, EIGHT_G);


for data acquiring , in for loop I used


f_printf(&fp, "%d %d %d \n",MMA1_GetX(),MMA1_GetY(), MMA1_GetZ());


after 100 readings I again changed the mode and did the same.


I am attaching extracted data in different modes.ACC2, ACC4, ACC8 shows accelerometer readings in 2G, 4G, 8G mode.


Kindly look into the matter


Amit Kumar

Original Attachment has been moved to: