【Digikey得捷好物畅享】ADXL362三轴加速度传感器循环读取

实验 2:循环读取数据

代码逻辑

初始化流程和上述逻辑一样,这次添加每十毫秒读取数据一次(100Hz)

代码

while (1)
    {
        if(adxl362_readflag == 1)
        {
            adxl362_GetData(&Xdata, &Ydata, &Zdata, &Tdata);
            PRINTF("demo:%d,%d,%d,%d\r\n", Xdata, Ydata, Zdata, Tdata);
            adxl362_readflag = 0;
        }
    }

结果

I0 粉红:x(+48)

I1 绿色:y(-25)

I2 蓝色:z(-180)

开发过程中的问题与总结

问题一: SPI 通信反馈数据不对

使用逻辑分析仪发现,硬件 CS 每发送一个字节就自己释放,需要配置 SPI 的发送功能,全部发送结束才释放,每个 MCU 的 硬件 SPI 可能不一样,需要注意

问题二:每个轴的最大静止加速度不一样

查看手册结果:之所以会产生每个轴的 g 不一样大,是因为某些性能参数随电源电压而

变化,包括电源电流、噪声、偏移、灵敏度和自检输出变化,具体看手册需要做偏移计算