15813191501 发表于 2012-12-5 21:47:28

怎才能让PT2262的解码按一下按键只处理一次?

我是菜鸟,最近在搞无线解码,不想要连发功能。怎么才能做到,按一次按键,只处理一次?

lcw_swust 发表于 2012-12-5 22:07:02

用单片机代替它

15813191501 发表于 2012-12-5 22:52:57

lcw_swust 发表于 2012-12-5 22:07 static/image/common/back.gif
用单片机代替它

用的就是单片机软件解码!想了很久想不出怎么解决

zlutian 发表于 2012-12-5 23:42:55

这个容易,一帧无线数据码约60~70ms,单片机解码数据确认后若200ms内接收到同样的数据,则认为是发送端按键按下未释放,单片机不予响应。超过200ms后收到数据的则认为是有效的新的按键数据。

zyw19987 发表于 2012-12-5 23:51:46

两个相同数据之间的时间间隔不能少于一个完整数据帧的周期。

15813191501 发表于 2012-12-6 08:15:10

zlutian 发表于 2012-12-5 23:42
这个容易,一帧无线数据码约60~70ms,单片机解码数据确认后若200ms内接收到同样的数据,则认为是发送端按键 ...

现在可以达到这样了,但如果一个遥控键控制一个灯,如果按住键不放的话,灯会一直闪,我想要的是,不管一直按多久,灯只处理一次。直到松手再按才有效。现在就是无法检测松手?

YUZH282 发表于 2012-12-6 08:30:44

两秒内相同码不反应如何.

lcw_swust 发表于 2012-12-6 09:06:28

15813191501 发表于 2012-12-5 22:52 static/image/common/back.gif
用的就是单片机软件解码!想了很久想不出怎么解决

用变量记录上次的码值,这次得到的码值与上次比较,若是相等就不再处理.

15813191501 发表于 2012-12-6 09:19:46

lcw_swust 发表于 2012-12-6 09:06
用变量记录上次的码值,这次得到的码值与上次比较,若是相等就不再处理.

这样搞的话,如果按一次马上松手再按,那不是也没反映了?我用串口助手打印岀长按的码值是:来一个有效的再隔几个空值再是有效的。所以无法检测松手。但市场卖的遥控开关都是:不管按多久,灯不会闪的。
页: [1]
查看完整版本: 怎才能让PT2262的解码按一下按键只处理一次?