/******************编码器驱动*******************************/ 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************************************/