jiang hao
/
adxl345
DFRobot ADXL345
main.cpp
- Committer:
- jh_ndm
- Date:
- 2016-07-15
- Revision:
- 0:7dd215338a3d
File content as of revision 0:7dd215338a3d:
#include"mbed.h" #define ADXL345_I2C_READ 0xA7 #define ADXL345_I2C_WRITE 0xA6 #define ADXL345_I2C_ADDRESS 0x53 #define ADXL345_DEVID_REG 0x00 #define ADXL345_DATAX0_REG 0x32 #define ADXL345_POWER_CTL_REG 0x2D #define MeasurementMode 0x08 I2C adxl345(PA_10,PA_09); Serial uart0(PA_13,PA_14); //DigitalOut led(LED1); int16_t xyz[3] = {0, 0, 0}; int main() { char config[2]; char data[6]; config[0] = ADXL345_DEVID_REG; char output; uart0.baud(9600); adxl345.write( ADXL345_I2C_WRITE , config, 1); adxl345.read( ADXL345_I2C_READ , &output, 1); uart0.printf("ADXL345 device id is 0x%x.\r\n",output); config[0] = ADXL345_POWER_CTL_REG; config[1] = MeasurementMode; adxl345.write( ADXL345_I2C_WRITE, config, 2); //set power config[0]=ADXL345_DATAX0_REG; while (1) { adxl345.write( ADXL345_I2C_WRITE, config, 1); adxl345.read( ADXL345_I2C_READ , data, 6); xyz[0]=(int)data[1]<<8|(int)data[0]; xyz[1]=(int)data[3]<<8|(int)data[2]; xyz[2]=(int)data[5]<<8|(int)data[4]; uart0.printf("%6i, %6i, %6i\n", xyz[0], xyz[1], xyz[2]); wait(0.1); } }