实验 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 不一样大,是因为某些性能参数随电源电压而
变化,包括电源电流、噪声、偏移、灵敏度和自检输出变化,具体看手册需要做偏移计算

