发 帖  
原厂入驻New
[问答] 如何在cc2541sensortag key中实现按键时间的长短判断2次以上event事件?
2019-9-20 14:19:30  94 中断 定时器 延时
分享
请大神帮忙解答
我想在senseortag上通过一个按键利用按下的时间长短来区分判断不同的按键event事件,是否可以实现,应该如何修改?
我想在按键中断的地方加定时器延时,通过读取io的状态是否可行,应该如何修改?
谢谢!
0
2019-9-20 14:19:30   评论 分享淘帖

相关讨论

2 个讨论
billy,
我记得是可以用timer来判断release的。
你可以研究一下代码里release 是如何判断的。
骑猪去天山 发表于 2019-9-20 14:26
billy,
我记得是可以用timer来判断release的。
你可以研究一下代码里release 是如何判断的。

yan,
研究了下key按键的处理,通过中断触发,25ms以后发送一次按键按下事件,然后100ms轮询一次,直到按键释放,结束本次按键上报传输事件。
在轮询的时候启动特殊定义按键延时定时器,有个问题出来了:
1、截住第一次按键按下键值发送,导致无法判断此次应该发送哪个按键值,
       只能延时到最长的哪一个时间定义的按键功能值结束,然后根据每个定时时间到了以后的flag记录来确定  此次按键被按下属于预先定义的哪一个功能键值
2、不截住的话又失去了区分同一个按键不同功能按键值定义的意义
所以要想在底层处理区分同一个按键不同事件定义,会导致按键延时严重;
同理在手机应用层处理一样会引起延时问题。
按照标准做法 只是区分 开 长按与短按 是最短的延时
虽然被这个问题搞的有点晕,不过挺好让我又加深了对按键子系统的一次理解
谢谢 
2019-9-20 14:40:49 评论

举报

只有小组成员才能发言,加入小组>>

789个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表