欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: N76E003 紅外解碼部分代碼 [打印本頁]

作者: 路小路    時間: 2018-11-23 15:54
標(biāo)題: N76E003 紅外解碼部分代碼
UINT8 IR_SCAN(void)
{
        UINT8 i=0;
        UINT8 t1,t2;
       
       
    if(bIR_scan==0) return 0;
         bIR_scan=0;
         RmtRec=0;
       
       
        if(IR_IO==0)
          {
                clr_TR0;
                clr_TF0;
                TL0 =0;
                TH0 =0;
                set_TR0; //Start Timer0
                bIR=0;IR_cont=0;
                  
                while ((IR_IO==0)&&(bIR != 1)); //Check Timer0 Time-Out Flag
                        clr_TR0; //Stop Timer0
                        clr_TF0;
                        Dval=TIM0_GetCounter();
                  
                                if(Dval>8600&&Dval<9300) //9ms
                                {
                     
                                TL0 =0;
                                TH0 =0;
                                set_TR0; //Start Timer0
                                bIR=0;IR_cont=0;
                                       
                                while ((IR_IO==1)&&(bIR != 1)); //Check Timer0 Time-Out Flag
                                        clr_TR0; //Stop Timer0
                                        clr_TF0;
                                        Dval=TIM0_GetCounter();
                                        if(Dval>4200&&Dval<4700) //4.5ms  &&×óóò¶¼ÎaÕæÔòÎaÕæ
                                   {
//----------------------------------------------------------
                                                        do{
                                                                TL0 =0;
                                                                TH0 =0;
                                                                set_TR0;        //Start Timer0
                                                                bIR=0;IR_cont=0;
                                                        while ((IR_IO==0)&&(bIR != 1)); //Check Timer0 Time-Out Flag
                                                                clr_TR0;        //Stop Timer0
                                                                clr_TF0;
                                                                Dval=TIM0_GetCounter();
                                                        if(Dval<300&&Dval>800)        //560us
                                                                {
                                                                return 0;
                                                                }
                                                               
                                                        TL0 =0;
                                                        TH0 =0;
                                                        set_TR0;        //Start Timer0
                                                        bIR=0;IR_cont=0;
                                                                                       
                                                        while ((IR_IO==1)&&(bIR != 1)); //Check Timer0 Time-Out Flag
                                                                clr_TR0;        //Stop Timer0
                                                                clr_TF0;
                                                                Dval=TIM0_GetCounter();
                                                                                                               
                                                                if(Dval>300&&Dval<800)        //560????,560us
                                                                {
                                                                        RmtRec<<=1;
                                                                        RmtRec|=0;        //½óêÕμ½0
                                                                        i++;
                                                                }
                                                               
                                                                else if(Dval>1400&&Dval<1800)        //1680Îa±ê×¼Ö죬1680uS
                                                                {
                                                                        RmtRec<<=1;
                                                                        RmtRec|=1;        //½óêÕμ½1
                                                                        i++;
                                                                }
                                                                else if(Dval>2200&&Dval<2600)        //μÃμ½°′¼ü¼üÖμÔö¼óμÄDÅÏ¢£¬2500±ê×¼ÖμÎa2.5mS
                                                                {
                                                                }
                                                         }
                                                                while(i<32);
                                                        //--------------------------------------------------------------------
                                                                t1=RmtRec>>24;        //μÃμ½μØÖ·Âë
                                                                t2=(RmtRec>>16)&0xff;        //μÃμ½μØÖ··′Âë
                                         
                                                                if((t1==(UINT8)~t2)&&t1==REMOTE_ID)//¼ìÑéò£¿Øê¶±eÂë(ID)¼°μØÖ·
                                                                {
                                                                                t1=RmtRec>>8;
                                                                                t2=RmtRec;
                                                                                IR_code=t1;
                                                                       
                                                                                if(t1==(UINT8)~t2)return 1;//¼üÖμÕyè·
                                                                                }
                //---------------------------------------------------------------------
                                }
                   }
                }
      return 0;
}






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