|
|
本帖最后由 yfpc2006 于 2019-3-7 13:50 編輯
這類技術(shù),我研究的很透!
這里僅提供思路,不懂的可以留言回復(fù)。
你首選要看手冊了解發(fā)送的波形,如果我沒記錯的話,這類遙控當(dāng)按1下按鈕后,芯片至少要發(fā)送4次編碼,編碼的結(jié)構(gòu)是:先發(fā)送xx毫秒(長度是根據(jù)配置的震蕩電阻決定)的低電平作為同步頭,然后發(fā)送12位編碼(8位自定義的三態(tài)碼和4位按鍵碼),這就是一次完整的編碼。每按下一次按鈕,至少會發(fā)送4次這樣的編碼。你需要做的是,先定義一個bit變量暫且叫相同按鍵標(biāo)志,初始為0,當(dāng)?shù)谝淮谓獯a成功,將收到的碼放到Code01、Code02、Code03三個字節(jié)中,并標(biāo)志為第一次。然后程序緊接著第二次解碼成功,這時你把接收碼放進(jìn)Code11、Code12、Code13三個字節(jié)中3個字節(jié)的變量中,然后你開始對比第二次和第一次的碼是不是完全一樣,如果完全一樣,把剛才的bit變量置1。當(dāng)釋放按鈕后,檢測同步頭數(shù)據(jù)就會錯誤,這時候,可以把這個bit變量置0。這就實現(xiàn)了,解碼2次一樣,bit=1;釋放按鈕后,bit = 0; 然后根據(jù)這個bit標(biāo)志,在主程序中做相應(yīng)的功能。再不明白,可以留言,或加本人的QQ826220679,因為這里可能不經(jīng)常上線。
|
|