標題: 求教,315M無線學(xué)習(xí)型遙控問題 [打印本頁]

作者: mhx321    時間: 2015-10-29 01:39
標題: 求教,315M無線學(xué)習(xí)型遙控問題
最近在做一個315M的無線學(xué)習(xí)型遙控,功能是能學(xué)習(xí)無線遙控器的按鍵功能,學(xué)習(xí)好后,發(fā)射出去可以實現(xiàn)所學(xué)遙控器的功能控制設(shè)備。無線接收我用的是外部中斷來接收,但是程序?qū)懭雴纹瑱C,運行時,一按學(xué)習(xí)鍵,馬上就中斷,我把超外差接收模塊去掉按學(xué)習(xí)鍵時不會立即運行中斷,接上就不正常,馬上就中斷,懷疑是不是干擾問題,請大神給看看如何解決?

/*********無線數(shù)據(jù)接收程序**************************/
void intt0(void) interrupt 0   //外部中斷0服務(wù)程序
{
        EX0=0;
//        IT0=0;
        EA=0;

if(R_315M==0)
{
Delay1ms(100);    //延時程序
if(R_315M==1)
{
clear_buf();  //數(shù)據(jù)緩存清0
goto receive_end;
}

        receive_cnt=0;
        F_dat[receive_cnt]=0x0011; //315M標志  自定
        while(receive_cnt<250)
        {
                receive_cnt++;
                TR0=1;//啟動定時器0
                while(R_315M==0);  //低電平
                TR0=0;
                F_dat[receive_cnt]=TH0*256+TL0;  //脈寬寬度測量
                receive_cnt++;
                TH0=0;
                TL0=0;
                TF0=0;
                TR0=1;
                while(R_315M==1)
                {
                        if(TF0==1)
                        {
                                goto receive_end;
                        }
                }
                TR0=0;
                F_dat[receive_cnt]=TH0*256+TL0;  //脈寬寬度測量
                TH0=0;
                TL0=0;
                TF0=0;
        }
}
        receive_end:
            if(F_dat[5]>=50)         //消除干擾
                {
                    TR0=0;
                    receive_OK=1;  //接收完畢標志
                        F_dat[receive_cnt]=0x0000;
                        receive_cnt=0;
                        TH0=0;
                        TL0=0;
                        TF0=0;
                }
                else
                {
                        clear_buf();  //數(shù)據(jù)緩存清0
                        receive_cnt=0;
                        TR0=0;
                        TH0=0;
                        TL0=0;
                        TF0=0;
                        EX0=1;
        //                IT0=1;
                        EA=1;
                }               
}
/*******************************************************/



作者: wlq19911021a    時間: 2015-10-30 12:50
本帖最后由 wlq19911021a 于 2015-10-30 12:54 編輯

太多不看,

一般是中斷問題

或進入死胡同了(內(nèi)部卡死,或糾結(jié)了)

樓主寫的太多,太亂了,不看
不知樓主的紅外通信過了沒

沒過去過一下,有現(xiàn)成的教程

手把手教程--比我們講的好多了

那個過了,這個自然過

作者: mhx321    時間: 2016-1-7 02:16
wlq19911021a 發(fā)表于 2015-10-30 12:50
太多不看,

一般是中斷問題

無線比紅外處理起來困難多了,主要是外部干擾比較多,現(xiàn)在問題我已經(jīng)解決了!
作者: userdwg    時間: 2016-5-19 19:49
貼出來分享一下,老大
作者: jiban1994    時間: 2016-5-19 20:34
有匯編語言的嗎
作者: 涼拌見手青    時間: 2017-12-1 19:49
還不懂無線的數(shù)據(jù)解構(gòu),先來學(xué)習(xí)一下




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