[其他ST产品] 关于LSM6DSL无法产生中断,WAKE_UP_SRC一直是0;更改CTRL1_XL,Z轴读数翻倍的问题

[复制链接]
384|0
 楼主| 豌豆爹 发表于 2022-12-14 15:33 | 显示全部楼层 |阅读模式

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

091042v8331qf3qb3x1bb6.png.thumb.jpg

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

092417pwqulq3ag1i41q8d.png.thumb.jpg

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

093227lsjed82qziic7zcq.png.thumb.jpg

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

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

本版积分规则

534

主题

2316

帖子

6

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