2019-01-26 06:42 AM
Started working with LIS302DL. Then took the LIS3DSH. The program is the same. After starting LIS3DSH, it gives correct readings along the axes, but after a few seconds of work, the data becomes permanent. The time to failure varies from a few seconds to several tens of seconds. LIS3DSH restores its work only after switching power. I tried to connect to different microcontrollers. Changed the exchange protocol with LIS3DSH. Used different versions of LIS3DSH. After freezing the readings X, Y, Z, read all the registers LIS3DSH. No register is changed anymore. Protocol I2C. If LIS3DSH is read, for example, once per second, then it can run for 20-30 seconds. But as soon as you start to increase the speed of reading, it "freezes" the data on the axes.
What is the cause of this behavior of the chip ???
2019-01-31 06:46 AM
hi, which is the working point of your device in terms of Vdd, VddIO, and ODR? Did you try with a different LIS3DSH part?
2019-01-31 11:26 AM
Vdd, VddIO connected together. 3 V.
Setting after power on CTRL_REG4 = 01011111
After "freezing" values, CTRL_REG4 does not change.
It seems that LIS switches to Power down mode...
>Did you try with a different LIS3DSH part?
Yes.