基于STM32的紅外遙控和解碼遙控程序解析

發(fā)布時(shí)間:2016-9-13 11:28    發(fā)布者:designapp
關(guān)鍵詞: STM32 , 紅外遙控
文本主要包含兩個(gè)內容:一、紅外遙控協(xié)議的的講解;二、解碼程序解析(參考正點(diǎn)原子的代碼)

紅外的介紹、優(yōu)點(diǎn)、缺點(diǎn)就不給大家說(shuō)了,網(wǎng)上書(shū)上都有,下面進(jìn)入正題

一、紅外遙控協(xié)議的的講解

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

本文將以NEC協(xié)議實(shí)現紅外遙控。

NEC協(xié)議的特征:

1、8位地址和8位指令長(cháng)度;

2、地址和命令兩次傳輸(確?煽啃);

3、PWM脈沖寬度調制,以發(fā)射紅外載波的占空比代表“0”和“1”;

4、載波頻率為38KHz;

5、位時(shí)間為1.125ms和2.25ms;

NEC 碼位的定義:一個(gè)脈沖對應560us的連續載波,一個(gè)邏輯1傳輸需要2.25ms(560us脈沖+1680us低電平),一個(gè)邏輯0的傳輸需要 1.125ms(560us脈沖+560us低電平)。而遙控接收頭在收到脈沖時(shí)為低電平,在沒(méi)有收到脈沖時(shí)為高電平,因此,我們在接收頭端收到的信號 為:邏輯1應該是560us低+1680us高,邏輯0應該是560us低+560us高。如下圖:





NEC 遙控指令的數據格式為:同步碼頭(引導碼)+地址碼+地址反碼+控制碼+控制反碼。同步碼是由一個(gè)9ms的低電平和一個(gè)4.5ms的高電平組成,地址碼、 地址反碼、控制碼、控制反碼均為8位數據格式。按照高位在前低位在后的順序發(fā)送。采用反碼是為了增加傳輸的可靠性(可用于校驗)。下圖是我們按下按鍵2 時(shí),從紅外接收頭端測到的波形:





在 圖中可以看到,在100ms之后,我們還收到了幾個(gè)脈沖,這是NEC碼規定的連發(fā)碼(由9ms低電平+2.5ms高電平+0.56ms低電平和 97.94ms高電平組成),如果在一幀數據發(fā)送完后,按鍵仍沒(méi)有松開(kāi),則發(fā)送重復碼(連發(fā)碼),可以通過(guò)統計連發(fā)碼的次數來(lái)標記按鍵按下的長(cháng)短/次數。

二、解碼程序解析(參考正點(diǎn)原子的代碼)

在正點(diǎn)原子的代碼中是利用定時(shí)器的輸入捕獲功能來(lái)實(shí)現遙控解碼的,下面解析一下關(guān)鍵代碼:

在該實(shí)驗remote.h文件中,定義了3個(gè)函數:Remote_Init();、TIM4_IRQHandler();、Remote_Scan();。

1、Remote_Init();





這里要注意中斷優(yōu)先級,定時(shí)器4的兩個(gè)中斷,溢出(更新)中斷,捕獲事件中斷的優(yōu)先級是一樣的。意思就是,他兩誰(shuí)也不能打斷誰(shuí),例如A在執行時(shí),B就不會(huì )產(chǎn)生中斷。這里很重要,很重要,很重要!

2、TIM4_IRQHandler();













注意上圖中畫(huà)紅框的狀態(tài)標識,下面解析一下此中斷服務(wù)函數(該終端服務(wù)函數中有兩個(gè)中斷,溢出中斷和捕獲中斷):

1、先看捕獲中斷,Rmtsta剛開(kāi)始時(shí)為0,當發(fā)生一次上升沿捕獲時(shí)(RDATA對應的引腳得到一個(gè)高電平),先把捕獲事件配置為下降沿捕獲,然后Rmtsta=0x10,標記了上升沿已經(jīng)被捕獲;

2、當有下降沿到來(lái)時(shí),將CCR1寄存器的值賦給Dval變量,并再將捕獲事件配置為上升沿捕獲;補充:像這樣上升沿捕獲和下降沿捕獲交替使用,是為了捕獲到高電平持續時(shí)間。

3、注意:只有當接收頭收到了引導碼后,才進(jìn)行解碼。故先判斷Dval的值是不是在4200us~4700us之間,如果在,就將Rmtsta|=1




注意:遙控器發(fā)過(guò)來(lái)的碼都是編好的,比如想破解遙控器編碼,可以拿示波器去測接收端的碼。

整個(gè)程序思路不難,就是對遙控器發(fā)過(guò)來(lái)的碼進(jìn)行解碼,這里主要是兩個(gè)中斷的理解。
本文地址:http://selenalain.com/thread-173718-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页