- Код: Выделить всё • Развернуть
- //Initialization of ADXL345
 ADXL345_SPIWrite_Byte(DATA_FORMAT, 0); //SPI 4-wire
 ADXL345_SPIWrite_Byte(POWER_CTL, 0); //ADXL345 is off
 ADXL345_SPIWrite_Byte(POWER_CTL, 8); //ADXL345 is measure
 ADXL345_SPIWrite_Byte(DATA_FORMAT, 0); //ADXL345 resolution 2g
Значения ускорения по осям определяю так:
- Код: Выделить всё • Развернуть
- //Read DATAxx-register of ADXL345
 for(y=0; y < 6; y++) ADXL345_Data_Array[y] = ADXL345_SPIRead_Byte(DATAX0 + y);
 AxisX += ((signed int)ADXL345_Data_Array[1] << 8) | ADXL345_Data_Array[0];
 AxisY += ((signed int)ADXL345_Data_Array[3] << 8) | ADXL345_Data_Array[2];
 AxisZ += ((signed int)ADXL345_Data_Array[5] << 8) | ADXL345_Data_Array[4];
Проблема: при считывании регистров DATAX0 - DATAY1 значения AxisX = AxisY = AxisZ = 511 всегда! В чем может быть дело?




 Чего ты там считываешь - hz.
 Чего ты там считываешь - hz.