打印
[其他ST产品]

调试LIS331DLH时,XYZ数据一直为0x0003

[复制链接]
1505|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
未知|  楼主 | 2017-1-3 14:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
最近在调试LIS331DLH三轴加速度传感器时,没有进行任何配置直接读取who i am寄存器是能够读到0x32.但是就是不能读到XYZ的数据。进行配置也是不行。配置如下:
LIS3DH_SetODR(LIS3DH_ODR_100Hz);//set ODR (turn ON device)
LIS3DH_SetMode(LIS3DH_NORMAL);  //set PowerMode
LIS3DH_SetFullScale(LIS3DH_FULLSCALE_2);  //set Fullscale
LIS3DH_SetAxis(LIS3DH_X_ENABLE | LIS3DH_Y_ENABLE | LIS3DH_Z_ENABLE);//set axis Enable

以上是参考例子程序配置,但是不行
WriteOneByte(0x20,0x37);
WriteOneByte(0x23,0x90);

后来又自己直接配置,但是也不行,


请问
1、如何进行配置才能读取到数据?
2、程序第一次读取who i am寄存器是0x32,读取XYZ后再读取读取who i am寄存器是0x00、这是怎么回事?
求解,谢谢
沙发
mintspring| | 2017-1-3 21:21 | 只看该作者
用示波器看看时序对不对。

使用特权

评论回复
板凳
未知|  楼主 | 2017-1-4 12:47 | 只看该作者
mintspring 发表于 2017-1-3 21:21
用示波器看看时序对不对。

I2C的时序应该是对的,因为能读到LIS331的ID寄存器。数据读取的不对

使用特权

评论回复
地板
mintspring| | 2017-1-5 20:52 | 只看该作者
未知 发表于 2017-1-4 12:47
I2C的时序应该是对的,因为能读到LIS331的ID寄存器。数据读取的不对

读取指令的问题?

使用特权

评论回复
5
未知|  楼主 | 2017-1-6 10:55 | 只看该作者
mintspring 发表于 2017-1-5 20:52
读取指令的问题?

有这个可能。我根据数据手册设置,但目前还是没调通

使用特权

评论回复
6
未知|  楼主 | 2017-1-12 16:55 | 只看该作者
感谢楼上的这位朋友,问题解决,是因为I2C的写入时序和数据手册的有点不一致造成的。以后调程序要先写寄存器在读那个寄存器,看看有没有错。这样会好一点。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

110

帖子

1

粉丝