@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; } |
怎么都接收不到遥控代码,可以进中断 |