我在使用ASM330LHH芯片读取加速度传感器的时候,为什么寄存器的值一直没有更新 这是我初始化的寄存器的一些值
在这之后我去读取STATUS_REG寄存器中的标志位,发现它一直是0,然后去读取OUTX_L_A,OUTX_h_A寄存器中的值,这些值一直都没有变化。
确定所有寄存器都写成功了吗?是否在写完后寄存器再读取出来检查一下?
你是如何读取sensor数据的?SPI通讯?多字节还是单字节读取数据?单字节读取时数据正常吗?如果是多字节读取,建议将12H寄存器的IF_INC置1。
<br /> <br />
我确定所有的寄存器都写入成功了,我是通过SPI四线的方式进行通讯的,我是单字节读取数据的,下面是我读取数据的代码,我能从这些寄存器中读出值,但是这些寄存器的值一直都没有变化。
<br /> <br />
请分享一下原理图,并检查电源——VDD和VDDIO是否都供电了?电流是否正常?
这是我们的电路原理图

<br /> <br />
我听取了您的建议去检查寄存器是否写入成功,然后修改了代码,发现寄存器11h,不能写入,其余三个寄存器都可以写入,这是什么原因呢?
<br /> <br />
SIN是MISO? SOUT是MOSI?
还是检查一下电源,SPI信号,寄存器配置应该没有问题
<br /> <br />
最好用逻辑分析仪抓一下芯片上电后SPI总线的log,看看总线上有没有什么特殊的信号
<br /> <br />
我在初始化上述三个寄存器后去读取加速度寄存器中的值,我是可以读出加速度寄存器中的值的,并且这些值会随着我芯片位置的不同而发生变化,这说明我的SPI信号应该是没问题的