?? c54.txt
字號:
unsigned char rfcount,
loop,
rftime, //查詢定時器
k;
bit rfbit, //接收完標(biāo)記
lowbit1,
lowbit2,
downbit, //檢測下降沿標(biāo)記
rfgobit;
unsigned char rcvData[5];//結(jié)果
////////////////////////////////////////////////////////////////////////////////
IR_rcv( )//遙控接收
{
if(rfbit==0) //準(zhǔn)備接收
{
if((lowbit1==0)&&(RB5==0)) //RB5口用做接收口,有低電平
{
downbit=1;
rftime=0;
lowbit1=1;
return;
}
if((lowbit1==1)&&(RB5==1)) //有由低變高電平
{
lowbit2=1;
return;
}
if((lowbit1==1)&&(lowbit2==1)&&(RB5==0))
{
lowbit1=0;
lowbit2=0;
if((rftime>=40)&&(downbit==1)) //遙控接收(4.5ms start ?)
{
rfgobit=1;
loop=0;
rfcount=0;
k=1;
rftime=0;
return;
}
rfcount +=1;
loop +=1;
if(rfcount>=31) //接收了32位數(shù)據(jù)
{
rfgobit=0; //清0
downbit=0;
rfcount=0;
rfbit=1;
loop=0;
return;
}
if((rftime>=7)&&(rfgobit==1)) //(2.25ms----1)?
{
rcvData[k] |=0x80; //1?
rftime=0;
if(loop==8)
{
k += 1;
loop=0;
return;
}
rcvData[k]>>=1;
return;
}
if((rftime<5)&&(rfgobit==1)) //(1.12ms----0)?
{
rcvData[k] &=0x7f; //0 ?
rftime=0;
if(loop==8)
{
k += 1;
loop=0;
return;
}
rcvData[k] >>=1; //rcvData[5]?只有32位定義5個數(shù)組干什么?
return; //多出的一個數(shù)組有何用?
}
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -