shally24s 发表于 2018-3-30 11:21:36

LIS3DSH 抓取XYZ的值有问题

目前正在使用LIS3DSH,同样的程式码,有些晶片能够抓取正确的数值,但有些晶片3轴抓取的值都会差不多,无论如何变化角度都是差不多的数值(例如XYZ的值都在15XXX)。
请问有人知道为什么会有这样的现象发生吗?

bargagebaobei 发表于 2018-3-30 11:26:26

LIS3DSH 这个东西我也没用太明白 因为我感觉不太好用,建议你考虑焊接问题

发表于 2018-3-30 11:30:08

看一下数据读取的实际内容,楼主用的是I2C吗?先判断是否可以读取到芯片ID,然后判断设置的参数是否成功。

rochp 发表于 2018-3-30 11:42:23

直接引出原始数据看是否正确,再看是否有读取问题,建议用例程来测试一下读取。

yqsqqq 发表于 2018-3-30 13:45:18

你先读取一下who am i,如果没问题,一般水平放置看看是否有两个轴数据接近0,一个慢量程,最好找一个好的模块对比下啦,官网有一个驱动例程,直接下载来直线read和write接口就可以用的

shally24s 发表于 2018-3-30 14:25:08

读取who am i没有问题,但是水平放置时,XYZ的值不会有接近0的数值

shally24s 发表于 2018-3-30 14:27:47

安 发表于 2018-3-30 11:30
看一下数据读取的实际内容,楼主用的是I2C吗?先判断是否可以读取到芯片ID,然后判断设置的参数是否成功。 ...

是用I2C没错,也已经确认设置的参数成功。

发表于 2018-3-30 14:56:48

最好是设置一下,读取一下。很可能是虚焊导致的。

jjbboox 发表于 2018-3-30 15:10:22

应该是数据类型转换不正确。
一般这种都是16位补码形式。你可以直接读取到3个int16_t类型的数组中。
不同类型的晶片int类型的长度不同,所以类型转换的时候要十分小心。

int16_t 在STM32F1x中应该是 short int类型。是16位。
页: [1]
查看完整版本: LIS3DSH 抓取XYZ的值有问题