我定时器设定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;
}
怎么都接收不到遥控代码,可以进中断
:):):):):):):)
页:
[1]