Peter Swanson / ADXL345_I2C参考 http://mbed.org/users/peterswanson87/code/ADXL345_I2C/
Fork of ADXL345_I2C by
main.cpp
- Committer:
- emanon
- Date:
- 2013-08-01
- Revision:
- 2:84e6d627c619
- Parent:
- 0:d0adb548714f
File content as of revision 2:84e6d627c619:
#include "ADXL345_I2C.h" DigitalOut myled(LED1); ADXL345_I2C accelerometer(p9, p10); Serial pc(USBTX, USBRX); int main() { pc.baud(115200); // pc.baud(9600); myled = 1; int readings[3] = {0, 0, 0}; pc.printf("Starting ADXL345 test...\n"); wait(.001); pc.printf("Device ID is: 0x%02x\n", accelerometer.getDeviceID()); wait(.001); // These are here to test whether any of the initialization fails. It will print the failure if (accelerometer.setPowerControl(0x00)){ pc.printf("didn't intitialize power control\n"); return 0; } //Full resolution, +/-16g, 4mg/LSB. wait(.001); if(accelerometer.setDataFormatControl(0x0B)){ pc.printf("didn't set data format\n"); return 0; } wait(.001); //3.2kHz data rate. if(accelerometer.setDataRate(ADXL345_3200HZ)){ pc.printf("didn't set data rate\n"); return 0; } wait(.001); //Measurement mode. if(accelerometer.setPowerControl(MeasurementMode)) { pc.printf("didn't set the power control to measurement\n"); return 0; } myled = 0; while (1) { wait(0.1); accelerometer.getOutput(readings); pc.printf("%+4.2f, %+4.2f, %+4.2f\n", (float((int16_t)readings[0]+18)/256), (float((int16_t)readings[1]-4 )/256), (float((int16_t)readings[2]+22)/256)); } }