天天看點

STM32複習筆記(十五)紅外遙控

聲明:本篇文章隻是個人知識盲區、知識弱點、重點部分的歸納總結,望各位大佬不喜勿噴。梳理順序是按照正點原子的視訊和文檔的實際順序梳理,轉載請注明出處。

作者:sumjess

适用:這個視訊我已經看過3遍了,總會有忘記的,是以來寫這本書的随手筆記,記錄重點、易忘點。該部落格可以當做字典,也可以當做筆記。

目前内容:紅外遙控

一、紅外遙控器介紹:

紅外遙控是一種無線、非接觸控制技術,具有抗幹擾能力強,資訊傳輸可靠,功耗低,成本低,易實作等顯著優點,被諸多電子裝置特别是家用電器廣泛采用,并越來越多的應用到計算機系統中。

同類産品的紅外線遙控器,可以有相同的遙控頻率或編碼,而不會出現遙控信号“串門”的情況。

紅外遙控的編碼目前廣泛使用的是:NEC Protocol 的PWM(脈沖寬度調制)和Philips

RC-5 Protocol 的PPM(脈沖位置調制)。

二、紅外遙控器和紅外接收頭外形:

STM32複習筆記(十五)紅外遙控
STM32複習筆記(十五)紅外遙控

接收頭: OUT , GDN, 3.3V

三、NEC協定特征:

①8位位址和8位指令長度;

② 位址和指令2次傳輸(確定可靠性)

③ PWM脈沖寬度調制,以發射紅外載波的占空比代表“0”和“1”;

④ 載波頻率為38Khz;

⑥ 位時間為1.125ms或2.25ms;

四、NEC碼位定義:

NEC碼的位定義:一個脈沖對應560us的連續載波,一個邏輯1傳輸需要2.25ms(560us脈沖+1680us低電平),一個邏輯0的傳輸需要1.125ms(560us脈沖+560us低電平)。而遙控接收頭在收到脈沖的時候為低電平,在沒有脈沖的時候為高電平,這樣,我們在接收頭端收到的信号為:邏輯1應該是560us低+1680us高,邏輯0應該是560us低+560us高。

STM32複習筆記(十五)紅外遙控

五、NEC遙控器指令格式:

NEC遙控指令的資料格式為:同步碼頭、位址碼、位址反碼、控制碼、控制反碼。同步碼由一個9ms的低電平和一個4.5ms的高電平組成,位址碼、位址反碼、控制碼、控制反碼均是8位資料格式。按照低位在前,高位在後的順序發送。采用反碼是為了增加傳輸的可靠性(可用于校驗)。

STM32複習筆記(十五)紅外遙控

                   00010101

其位址碼為0,控制碼為21。可以看到在100ms之後,我們還收到了幾個脈沖,這是NEC碼規定的連發碼(由9ms低電平+2.5m高電平+0.56ms低電平+97.94ms高電平組成),如果在一幀資料發送完畢之後,按鍵仍然沒有放開,則發射重複碼,即連發碼,可以通過統計連發碼的次數來标記按鍵按下的長短/次數。

六、程式設計思路:

繼續閱讀