一、方向判断
注意看管脚1,x,y,z三轴如图所示,当重力加速度方向与坐标轴方向相反时为正,重力加速度方向与坐标轴相同时为负。
二、驱动
采用了IIC接口,实际上也支持SPI接口。
ADXL345.h:
#ifndef _ADXL345_H
#define _ADXL345_H
typedef unsigned char u8;
//0x0B To 0x1F Factory Reserved
#define DEVICE_ID 0x00 //器件ID,0xE5
#define THRESH_TAP 0x1D //敲击阈值
#define OFSX 0x1E //X轴偏移
#define OFSY 0x1F //Y轴偏移
#define OFSZ 0x20 //Z轴偏移
#define DUR 0x21 //敲击持续时间
#define Latent 0x22 //敲击延时
#define Window 0x23 //敲击窗口
#define THRESH_ACT 0x24 //活动阈值
#define THRESH_INACT 0x25 //静止阈值
#define TIME_INACT 0x26 //静止时间
#define ACT_INACT_CTL 0x27 //轴使能控制活动和静止检测
#define THRESH_FF 0x28 //自由落体阈值
#define TIME_FF 0x29 //自由落体时间
#define TAP_AXES 0x2A //单击/双击轴控制
#define ACT_TAP_STATUS 0x2B //单击/双击源
#define BW_RATE 0x2C //数据速率及功率模式控制
#define POWER_CTL 0x2D //省电特性控制
#define INT_ENABLE 0x2E //中断使能控制