为什么ADXL345的读数不正确?
从网上掏了ADXL345模块,与单片机连接,用单片机I/O模拟4线制SPI,读取加速度值。设置测量范围16g,数据又对齐,DATAREADY中断,程序调试后,正确地读到芯...
从网上掏了ADXL345模块,与单片机连接,用单片机I/O模拟4线制SPI,读取加速度值。设置测量范围16g,数据又对齐,DATAREADY中断,程序调试后,正确地读到芯片的ID值0xe5,并且通过对xyz偏移寄存器的写读操作,证明对345的读写程序完全正常,但是读到的三轴加速度数据却不正确。通过对读到的数据进行分析,发现一个有趣的现象:如果把 DATAx0(0x32)、 DATAx1(0x33)、DATAy0(0x34)、 DATAy1(0x35)、DATAz0(0x36)、 DATAz1(0x37)的顺序颠倒一下,即把寄存器0x37当做 DATAx0,0x36当做DATAX1......0X32当做DATAz1,三轴加速度就对了,这时为什么呀?!!
展开
3个回答
2013-08-08
展开全部
顶一下,说两点看法,互相学习1:SPI读寄存器顺序是否正确,2::345是如何放置的,可将芯片水平放置,X=0,Y=0,Z=1g试一下
2013-08-08
展开全部
多半是程序逻辑问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-08
展开全部
仔细看手册吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询