標題:
求教,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