打印
[其他ST产品]

关于LSM6DSL无法产生中断,WAKE_UP_SRC一直是0

[复制链接]
219|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
rc, PA, UG, AC, ar
本帖最后由 onlycook 于 2022-9-15 09:14 编辑

我想利用LSM6DSL的wakeup中断来实现对z轴加速度的检测。大致思路就是:设置WAKE_UP_THS中断阈值,当z轴加速度超过阈值时,产生WAKE_UP中断,并将其驱动至INT1引脚。主控通过检测INT1引脚的上升沿来计数。下图是我对相关寄存器的配置:

进行Debug时,得到的参数是下图这样的。impact_cnt默认是31,图中标错了。传感器是Z轴朝下放置的,大概一个g左右,正常应该是8500上下,但是Debug结果好像翻了一倍。而且阈值只有1/8个g,按理说应该超过了阈值,但是WAKE_UP_SRC(param[4])的状态一直是0,也没有产生中断。

如果将配置CTRL1_XL的代码注释掉,如下图,传感器Z轴的值Z_XL就正常了,但是同样没有产生中断,WAKE_UP_SRC的值也一直是0

按理说CTRL1_XL的值是改变频率的,可是为什么会让Z轴的值发生变化;而且明明Z轴的值超过了阈值,但是仍然没有产生中断。希望大神能指点我一下,跪谢。

使用特权

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

本版积分规则

389

主题

1470

帖子

3

粉丝