已回答假定已回答

ADXL350中断设置问题

gracesky1194 在 2014-5-21 詢問的問題
最後回覆由adi_rock於2014-6-9提供

我是用ADXL350,2个月了。现在还搞不好终端的设置。

我的测量目的是利用350的中断检测外部的敲击震动,计算这个震动持续的时间。然后由这个时间内取得的加速度值计算震动产生的位移。

现在寄存器设置进入迷茫了。请各位高手看看

这是我的初始化程序:

   {

  WriteToADXL345ViaSpi(0X31, 1, 0X6b);  // DATA FORMAT  +-8G 右对齐 中断低电平有效 0110 1011

    WriteToADXL345ViaSpi(0X2D, 1, 0X08);  // POWER

    WriteToADXL345ViaSpi(0X2C, 1, 0X0a);  // 100Hz

 

   // WriteToADXL345ViaSpi(0X1D, 1, 0X02);  // THERSH_TAP    敲击时产生加速度的幅值超过2*31.2mg=0.062g时有效。       

   // WriteToADXL345ViaSpi(0X21, 1, 0X01);  // DUR 625us/LSB 敲击时间阀值625us 敲击时间必须大于此值

 

 

    WriteToADXL345ViaSpi(0X24, 1, 0X02);  // THRESH_ACT   活动检测阀值 加速度大于2*31.2mg=0.062g 有效

    WriteToADXL345ViaSpi(0X25, 1, 0X01);  // THERSH_INACT 静止检测阀值 加速度小于 1*31.2mg=0.0312g 有效

    WriteToADXL345ViaSpi(0X26, 1, 0X02);  // TIME_INACT   静止持续时间 1sec/LSB  2S

    WriteToADXL345ViaSpi(0X27, 1, 0X2A);  // ACT_INACT_CTL Y-ACT-DC, INACT-AC

   

  //  WriteToADXL345ViaSpi(0X2a, 1, 0X0A);  // Y 敲击检测使能

    WriteToADXL345ViaSpi(0X2E, 1, 0X48);  // 单击  静止  中断允许  INT_ENABLE

 

 

  //  WriteToADXL345ViaSpi(0X2f, 1, 0X00);  // 活动中断送至INT1, 静止中断送到INT2    

}

我现在使用的情况是:Y轴输出0.000g;X轴输出0.046g;Z轴输出0.863g。这是我经过换算得到的,没有错。

可就是不知道中断寄存器0x28 0x30 的中断位怎么判断。默认的中断位我从示波器上看也和手册的不一样。

怎么办啊?

結果