/******************编码器驱动*******************************/
if (Encoder_Timer_Out)
{
Encoder_Timer_Out=0;
Encoder_A_Now=Encoder_A_Io;
Encoder_B_Now=Encoder_B_Io;
if (Encoder_A_Old==0&&Encoder_A_Now==1)
{
if (Encoder_B_Now==1)
{
BMQ_L_AH=1;
} else
{
BMQ_R_AH=1;
}
}
if (Encoder_B_Old==0&&Encoder_B_Now==1)
{
if (Encoder_A_Now==1)
{
BMQ_R_BH=1;
} else
{
BMQ_L_BH=1;
}
}
if (Encoder_A_Old==1&&Encoder_A_Now==0)
{
if (Encoder_B_Now==1)
{
BMQ_R_AL=1;
} else
{
BMQ_L_AL=1;
}
}
if (Encoder_B_Old==1&&Encoder_B_Now==0)
{
if (Encoder_A_Now==1)
{
BMQ_L_BL=1;
} else
{
BMQ_R_BL=1;
}
}
Encoder_Add=Encoder_Rec=0;
if (BMQ_R_AH==1&&BMQ_R_BH==1) Encoder_Add=1;
if (BMQ_R_AL==1&&BMQ_R_BL==1) Encoder_Add=1;
if (BMQ_L_AH==1&&BMQ_L_BH==1) Encoder_Rec=1;
if (BMQ_L_AL==1&&BMQ_L_BL==1) Encoder_Rec=1;
if (Encoder_Add)
{
BMQ_R_AH=0;
BMQ_R_BH=0;
BMQ_R_AL=0;
BMQ_R_BL=0;
BMQ_L_AH=0;
BMQ_L_BH=0;
BMQ_L_AL=0;
BMQ_L_BL=0;
if (++Twice_Effective>=4)
{
Twice_Effective=0;
if(Electric_Display_Ing==0)
{
__500ms_Count=0;
if (Motor_Gear<8)
Motor_Gear++;
}
}
}
if (Encoder_Rec)
{
BMQ_R_AH=0;
BMQ_R_BH=0;
BMQ_R_AL=0;
BMQ_R_BL=0;
BMQ_L_AH=0;
BMQ_L_BH=0;
BMQ_L_AL=0;
BMQ_L_BL=0;
if (++Twice_Effective1>=4)
{
Twice_Effective1=0;
if(Electric_Display_Ing==0)
{
__500ms_Count=0;
if (Motor_Gear>1)
Motor_Gear--;
}
}
}
Encoder_A_Old=Encoder_A_Io;
Encoder_B_Old=Encoder_B_Io;
}
/******************************编码器驱动END************************************/