Fly666 发表于 2020-12-18 16:23

LSM6DS3TR-C 单双击同时使用如何配置

<p>应用场景:例如TWS 单击下一首歌;双击 上一首歌。</p>

<p>&nbsp;</p>

<p></p>

<p>SINGLE_DOUBLE_TAP置1后,理论上单双击检测都同时开启了。然后去事件寄存器TAP_SRC(下图),无论怎么敲击,SINGLE_TAP都不会置1;DOUBLE_TAP检测到双击后是会置1的。</p>

<p>为何SINGLE_TAP都不会置1:不是说SINGLE_DOUBLE_TAP置1后,单双击检测都同时开启了,那对应单击事件,就应该是SINGLE_TAP都置1。</p>

<p>以上,不知道我的理解是否有偏差。</p>

<p>或者各位大神有更好的单双击同时使用的想法。谢谢</p>

littleshrimp 发表于 2020-12-18 20:32

本帖最后由 littleshrimp 于 2020-12-18 20:34 编辑

<p>&nbsp;</p>

<p>试一下把单双击事件绑定到INT1引脚看一下波形</p>

<p></p>

chunyang 发表于 2020-12-18 23:35

<p>单击和双击检测机制不会令双击事件发生时,单击寄存器置位,这样控制才不会乱套。</p>

<p>一般的判断机制:沿到来时,消抖判断是否有效,脉冲过后有个静默期,经过静默期没有下一个脉冲则判断为单击。出现下一个脉冲再进行是否符合双击特征的判断,结果就是要么为单击,要么为双击,不存在双击后单击寄存器也做出响应的情形。短时的三击则要看设计者的意图,是判断为无效还是双击亦或是双击后跟一个单击。</p>

littleshrimp 发表于 2020-12-19 10:17

<p>LSM6DSO也同时支持单击和双击</p>

<p>我使用官方代码做了测试,功能可以实现</p>

<p>你可以看一下这个视频</p>

<p></p>

<p>下边是LSM6DSO测试单双击的官方代码,你看看能不能参考下</p>

<p></p>

<p></p>

<p></p>

Fly666 发表于 2020-12-25 16:59

littleshrimp 发表于 2020-12-19 10:17
LSM6DSO也同时支持单击和双击

我使用官方代码做了测试,功能可以实现

你可以看一下这个视频



...

<p>按照你的配置来试了,还是不准。看起来单双击同时出现了。</p>

littleshrimp 发表于 2020-12-28 13:19

Fly666 发表于 2020-12-25 16:59
按照你的配置来试了,还是不准。看起来单双击同时出现了。

<p>你这个是在双击模式下,单双击都出现吗?</p>

littleshrimp 发表于 2020-12-28 13:20

Fly666 发表于 2020-12-25 16:59
按照你的配置来试了,还是不准。看起来单双击同时出现了。

<p></p>

Fly666 发表于 2020-12-30 13:36

littleshrimp 发表于 2020-12-28 13:19
你这个是在双击模式下,单双击都出现吗?

<p>是的,其实就是应用手册上双击的例程,只是再把单击的中断加进来,看是否单击的中断会不会出现,实测是会出现的。而且开启了单击的中断之后,双击的中断基本很难产生。</p>

Fly666 发表于 2020-12-30 13:37

littleshrimp 发表于 2020-12-28 13:20


<p>你这个只是双击吧?把单击的中断一并开启试试看?</p>

littleshrimp 发表于 2020-12-30 14:00

Fly666 发表于 2020-12-30 13:36
是的,其实就是应用手册上双击的例程,只是再把单击的中断加进来,看是否单击的中断会不会出现,实测是会 ...

<p>我手里没有这个传感器不能帮你测试了,如果还不行,使用单击模式,然后MCU通过软件定时器检测双击事件能实现你要的功能吗?</p>

Fly666 发表于 2020-12-30 14:13

littleshrimp 发表于 2020-12-30 14:00
我手里没有这个传感器不能帮你测试了,如果还不行,使用单击模式,然后MCU通过软件定时器检测双击事件能 ...

<p>这个确实是一个好方法。</p>
页: [1]
查看完整版本: LSM6DS3TR-C 单双击同时使用如何配置