[其他ST产品] 关于LSM6DSL无法产生中断,WAKE_UP_SRC一直是0

[复制链接]
471|0
 楼主| onlycook 发表于 2022-9-15 09:11 | 显示全部楼层 |阅读模式
rc, PA, UG, AC, ar
本帖最后由 onlycook 于 2022-9-15 09:14 编辑

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

1961563227c2172326.png

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

9479463227c40dbaa3.png

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

1940363227c5b53939.png

7550763227c6ec6bec.png

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

您需要登录后才可以回帖 登录 | 注册

本版积分规则

496

主题

2185

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部