MMA8453 accelerometer I2C problem
Based on the fact that you able to communicate with one i2c sensor but not another, I would start investing the following:

Focus on reading the WHO_AM_I register because it is a simple test for reads and the answer 0x3A is fixed.


Check that the slave's I2C address matches the hardware, i.e. is the pin SA0 pulled high or low? Are you using the slave address 0x1C or 0x1D?
Check that you are terminating your reads with NACK. A master's read sequence must end in a NACK according to I2C, but not all vendors care too much. IIRC Freescale does.
Check the I2C bus length and pullups, i.e. if you have more than a few cm of cable, your pullups should be for example 1k rather than 10k. This will depend on the timing etc characteristics of the device.


I've written a blog post about I2C a while ago where I've also outlined common I2C problems and given more details: http://chipscoop.blogspot.fi/2012/08/understanding-ic-and-some-typical-uses.html