標(biāo)題: 求幫忙分析下,區(qū)分短按長(zhǎng)按的問題 [打印本頁(yè)]

作者: dingding16    時(shí)間: 2022-8-20 12:16
標(biāo)題: 求幫忙分析下,區(qū)分短按長(zhǎng)按的問題
433解碼得到的值,短按可以得到三次或者5次這個(gè)值。長(zhǎng)按一直會(huì)得到這個(gè)值接收引腳變化時(shí),進(jìn)入解碼函數(shù)。成功解碼得到值后計(jì)數(shù)自增,然后時(shí)間計(jì)數(shù)清零。
然后時(shí)間計(jì)數(shù)5ms內(nèi)計(jì)數(shù)器沒增加就短按,增加就不管,直到計(jì)數(shù)器達(dá)到16次算長(zhǎng)按。

但是寫代碼執(zhí)行時(shí),長(zhǎng)按判斷不了,一直按的時(shí)候,它也給我算短按,然演變成無數(shù)次短按了。

時(shí)間計(jì)數(shù)我嘗試延長(zhǎng)了10ms結(jié)果一樣。如果延時(shí)太長(zhǎng)可以實(shí)現(xiàn),但是快速短按就會(huì)失效,只當(dāng)按了一次。

作者: 塵土的飛揚(yáng)    時(shí)間: 2022-8-20 17:40
可以參考黑51這個(gè)程序    http://www.torrancerestoration.com/bbs/dpj-212823-1.html
作者: pdwdzz    時(shí)間: 2022-8-20 23:15
給個(gè)思路,你得看下433發(fā)送數(shù)據(jù)的間隔是多少,比方說10ms發(fā)一組,那你成功接收一組時(shí)。開始倒計(jì)時(shí)20ms。同時(shí)啟動(dòng)另一個(gè)正計(jì)時(shí)。倒計(jì)時(shí)時(shí)間內(nèi)只要接收到同樣的碼,就刷新倒計(jì)。只要倒計(jì)時(shí)不為0,維持正計(jì)時(shí)。當(dāng)正計(jì)時(shí)達(dá)到長(zhǎng)按時(shí)間,就直接執(zhí)行長(zhǎng)按功能。如果倒計(jì)時(shí)為0,但是正計(jì)時(shí)不夠長(zhǎng)按,就執(zhí)行短按。

作者: yzwzfyz    時(shí)間: 2022-8-22 15:16
1、做個(gè)計(jì)時(shí)器PT,未按PT=0,按下計(jì)時(shí)增加,彈起清0。這樣你在任何時(shí)刻,都能知道按鍵按了多久了。
2、長(zhǎng)按、短按、瞎按、亂按……,有一種算一種,做若干個(gè)標(biāo)記。
3、根據(jù)PT值,決定各個(gè)標(biāo)記是0是1。
4、根據(jù)標(biāo)記的0/1執(zhí)行做你想做的事,做完后清除標(biāo)記。
這是大致上的思路,細(xì)節(jié)上自己動(dòng)動(dòng)腦子。
作者: dingding16    時(shí)間: 2022-8-22 17:08
塵土的飛揚(yáng) 發(fā)表于 2022-8-20 17:40
可以參考黑51這個(gè)程序    http://www.torrancerestoration.com/bbs/dpj-212823-1.html

主要是不知道什么時(shí)候清理,就像掃描按鍵可以通過電平識(shí)別。這個(gè)無法通過電平,有雜波.然后遙控器的編碼快速短按,分析看到?jīng)]有結(jié)束碼.
作者: dingding16    時(shí)間: 2022-8-22 17:13
pdwdzz 發(fā)表于 2022-8-20 23:15
給個(gè)思路,你得看下433發(fā)送數(shù)據(jù)的間隔是多少,比方說10ms發(fā)一組,那你成功接收一組時(shí)。開始倒計(jì)時(shí)20ms。同 ...

謝謝大佬,我按照這個(gè)思路試一下看看




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1