I am a BMA222e accelerometer user. I use the CJMCU 222e board to connect to it. Having connected to the board for the first time, I received the correct temperature and acceleration values. However, recently, on a temperature request, I get 0x00 in register 0x08. Register 0x07 contains the value 0x7F permanently. register 0x05, regardless of position, contains the value 0x08. In register 0x03, the values change, but do not correspond to reality. At the same time, the rest of the accelerometer registers have a standard value, except for the 0x0E register, which contains the value 0x81. To solve this problem, I did a self-test for each axis as well as a softreset. Nothing helped. Could you help me?
Do you have a try to hardware reset? Recommend you to do this action.
Sorry to say, according to your descripation, it is not enough to find the reason. You should offer more information.
Did you change power mode? Did you use the offecial API code? What operation did you do after powon?
Thanks for the advice. I don't know how to make a hardreset. The datasheet does not say how to follow this. Could you tell me how to do this? I also don’t know how to change the power mode. Please tell me.
Could you disconnect VDD/VDDIO?
If the issue is not fixed by softreset, maybe sensor enter into failure mode or communication is not normal, and so on, so only cut off power supply to recovery it.
Switched the power, but the error is still there.
It also seems strange to me that all registers except for the registers of acceleration and temperature values contain adequate values.
I use ESP 12 NODEMCU and Wire.h library to connect to the device.