477219_zh-CN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

477219_zh-CN

477219_zh-CN

FXOS8700 PL 中断有时无法清除<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

我曾参与过一个基于 STM32 和 FXOS8700 的项目。

一些信息

I2C @400kHz

启用自动休眠(但不中断)

混合模式

仅在 CTRL_REG4 中启用 int_en_lndprt,在 CTRL_REG5 中启用 int_cfg_lndprt

传感器设置为在改变方向时产生中断 (INT1)。在中断代码中,我读取了 PL_STATUS,并可以检查发生了哪个(端口/景观/前方/后方)移动。

但是,有时在读取 PL_STATUS 之后,INT1 引脚并没有清零。由于这个中断不可能像 freefall 或 vectormag 中断那样 " unlatched ",所以当这种情况发生时我无法再恢复IDLE状态了。

有人使用过这项功能并且效果良好吗?

加速度传感器Re: FXOS8700 PL interrupt sometimes does not clear<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

你好,罗伯托、

增加消抖计数器并不是真正的解决办法。这只是为了确保不会出现准永久性中断。它可以过滤一下中断。但是,如果触发条件仍然有效,则在清除 flag + debounce 时间后,中断将恢复到较高水平。

你可以看看应用笔记 AN4068

我在等你的测试。让我知道你的进展!

此致,

安东尼

Re: FXOS8700 PL interrupt sometimes does not clear<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

嗨,安东尼、

我照你说的做了,看起来还行。但我会再等几天,因为问题是随机出现的。这很难再现。无论明天之前是否一切正常,我都需要减少消抖计数器,因为方向移动的响应时间增加了很多(将近 1.5 秒)。

我会让你知道我的测试结果。

谢谢!

罗伯托

Re: FXOS8700 PL interrupt sometimes does not clear<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

你好,罗伯托斯、

我建议您使用消抖计数器,以确保 INT1 不会因其他事件而再次被设置。(使用大值来增加下一个事件发生前的死区时间)。

如果中断仍为高电平,则需要清除标记。如果下降了一段时间(去抖时间),则是阈值问题。

试试看,然后告诉我。

谢谢!

安东尼

标记 (1)
无评分
版本历史
最后更新:
‎02-04-2026 05:14 AM
更新人: