- u8 ADXL345_Init(uint8 AClimit,uint8 STlimit,uint8 time)
- {
- IIC_Init(); //初始化IIC总线
- if(ADXL345_RD_Reg(DEVICE_ID)==0XE5) //读取器件ID
- {
- ADXL345_RD_Reg(0x30);
- ADXL345_WR_Reg(DATA_FORMAT,0X0B);// 中断高低电平触发
- ADXL345_WR_Reg(BW_RATE,0x1c); // 低功耗 和速率设置
- ADXL345_WR_Reg(POWER_CTL,0x28);
- ADXL345_WR_Reg(INT_ENABLE,0x00);
- ADXL345_WR_Reg (0x2d, 0x38); // measure and wake up 8hz 08 38
- ADXL345_WR_Reg (0x24, AClimit); //活动触发阈值
- ADXL345_WR_Reg (0x27, 0xff); //比较法 3轴比较
- ADXL345_WR_Reg (0x2b, 0x70); //第一 轴比较
- ADXL345_WR_Reg (0x2F, 0x10); // int map reg 0 means INT2中断选择
- ADXL345_WR_Reg (0x2E, 0x18); // int enable reg 中断开启
- ADXL345_WR_Reg (0x25, STlimit); //静止阈值
- ADXL345_WR_Reg (0x26, time); //静止触发时间 s
- ADXL345_WR_Reg(OFSX,0x00);
- ADXL345_WR_Reg(OFSY,0x00);
- ADXL345_WR_Reg(OFSZ,0x00);
- ADXL345_RD_Reg(0x30);
- return 0;
- }
- return 1;
- }
复制代码
|