ADXL345读数经常出0

我采取SPI读取两个ADXL345,采用软件片选的方式,用GPIO口控制CS,CPOL=CPHA=1,采样频率3200Hz,量程±16g,这是初始化寄存器的代码:

spiwrite(0x31,0x0B);

spiwrite(0x2D,0x08);

spiwrite(0x2C,0x0F);

spiwrite(0x2E,0x00); 

现在出现的问题是SPI读回的数据经常出现0,像这样:

0
0
0.023
-0.067
0
-0.09
0
0
0
0
-0.067
0
0
0
-0.106
0
0
0
-0.067
-0.067
0
-0.067
0
0
-0.067
0
0
-0.075
0
0
0
0
0
0
-0.075

已经坏了6个传感器了,都是一开始能成功读取,然后突然就全部置零,最后坏掉,请问怎么解决