2013年5月22日 星期三
Receive IR with CCP1
這個練習程式的應用很廣, 我覺得不太好用, 在高速CPU下, 會一直中斷, 有需要的人就參考參考囉
if (PIR1bits.RCIF==1)
{
if(PIR1bits.CCP1IF)
{
PIE1bits.TMR1IE=1;
PIR1bits.CCP1IF=0;
if(ClearTimer1==0)
{
TMR1L=0;
TMR1H=0;
ClearTimer1=1;
}
else
{
IR_Time=CCPR1H*256+CCPR1L;
TMR1L=0;
TMR1H=0;
if(IR_BitNumber==0 && (IR_Time>30000 && IR_Time<36000))
{
IR_Start=1;
IR_Code[IR_BitNumber++]=IR_Time;
}
else if(IR_Start==1 && (IR_Time>2000 && IR_Time<6000))
{
if(IR_BitNumber>=32)
{
IR_RecordSuccess=1;
IR_Start=0;
PIE1bits.TMR1IE=0;
}
else
IR_Code[IR_BitNumber++]=IR_Time;
}
else
{
IR_Start=0;
IR_BitNumber=0;
}
}
} // end of PIR1bits.CCP1IF
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言
歡迎大家來討論交流一下~~~