無線射頻RF433遙控接收1527解碼
EV1527中斷法解碼
① 設定定時器中斷時間,設定為 80us,80us 進入中斷進行解碼。具體中斷時間多少由自己 軟體設定,但是中斷時間不能太大。
② 設定同步碼解碼範圍,同步碼定為 5.6ms - 16ms。進入中斷判斷到低電平,低電平判斷 一直累加 Count_Lead++,累積低電平的採集時間,判斷到高電平,就判斷此時 Count_Lead 的值是否在 70 跟 200之間。(備註:5.6ms/80us=70 16ms/80us=200)。
③ 引導頭通過進入資料判斷,剛開始是資料高電平,累積高電平的時間 Count_Data_Hi++, 當判斷到低電平時候,判斷 Count_Data_Hi 是否在 80us -2.4ms 之間。這裡還沒進行資料 0 跟 1 的區分,先把 Count_Data_Hi 的值儲存在 Hi_Cnt 裡面。 (備註:80us/80us=1 2.4ms/80us=30)。
④ 高電平判斷通過,開始判斷低電平,累積低電平的時間 Count_Data_lo++,當判斷到高電 平時候,判斷 Count_Data_Lo 是否在 80us -2.4ms 之間。這裡還沒進行資料 0 跟 1 的區分, 先把 Count_Data_Lo 的值儲存在 Lo_Cnt 裡面。 (備註:80us/80us=1 2.4ms/80us=30)。
⑤ 對 0 跟 1 進行區分,把 24bit 資料整理成三個 byte,存在陣列 RfData[0],RfData[1], RfData[2]數組裡面。
⑥ 進行相應功能碼的操作。 具體解碼方法參考例子程式,因為不同的震盪電阻,1527 出來的編碼長度不同,例子 程式是參考 1 lck=100us 波形來做的。具體時間引數可以根據自己的 1527 發射實際長度來 編寫。
https://download.csdn.net/download/weixin_42096084/12153498