fhxu198591 发表于 2016-4-6 19:34:43

我定时器设定0.1MS中断,下面红外接收怎么收不对,各位忙

@near @interrupt void TIM1_UPD_OVF_TRG_BRK_IRQHandler (void)
{

water= GET_WATER_PIN();

if( water==0)
{sppluscn3=1;
              if(capVa20==0)
             { sppluscn25=capVa21;
                     capVa21=0;
                       }
                   capVa20++;
                  
               
               
        }
        else
       {
               if (sppluscn3==1)
                   {
                               if (capVa21==0)
                                  { sppluscn4=capVa20;
                                       capVa20=0;
                                   }
                                       capVa21++;
                                       
                                       
                       }
                }       
    temp_ir=sppluscn4+sppluscn25;
if ((IrRecStep==0)&&(sppluscn3==1)&&(sppluscn25>40)&&(sppluscn25<50))
       {// temp_ir=sppluscn4+sppluscn25;
                if ((temp_ir>100)&&(temp_ir<150))
                  {IrRecStep=1;
                                IrIndex=0;
                                sppluscn3=0;
      sppluscn25=0;
      sppluscn4=0;
      IR_DATA=0;
                          }       
      else IrRecStep=0;

          }
   else if((IrRecStep==1)&&(sppluscn3==1)&&(sppluscn25>2))
      {
      if((temp_ir>5)&&(temp_ir<13))
               {
                       IR_DATA>>=1;
                       IrIndex++;
                       sppluscn3=0;
                       sppluscn25=0;
                       sppluscn4=0;
               }
       else
               if((temp_ir>18)&&(temp_ir<25))
               {
                       IR_DATA>>=1;
                       IR_DATA=IR_DATA+0x80;
                       IrIndex++;
                       sppluscn3=0;
                       sppluscn25=0;
                       sppluscn4=0;
               }
          
          if(IrIndex==32)
                {
                        IrRecFlag=1;
                        IrIndex=0;
                        IrRecStep=0;
                }
               
       
}
        TIM1->SR1 = (u8)(~TIM1_FLAG_UPDATE);
        return;
}


fhxu198591 发表于 2016-4-6 19:36:53

怎么都接收不到遥控代码,可以进中断

zcl201207 发表于 2016-4-6 21:42:14

:):):):):):):)
页: [1]
查看完整版本: 我定时器设定0.1MS中断,下面红外接收怎么收不对,各位忙