链接
    这个函数已经完成了,我就不再继续写下去了
    相关代码:
    #include
    /**定义部分*/
    //———————-下面定义电机控制信号输入接口
    //作用:控制电机转动方向
    //示例:ma1==HIGH,ma2==LOW,电机顺时针转

    const int ma1=2;//电机左+接口2
    const int ma2=3;//电机左-接口3
    const int mb1=4;//电机右+接口4
    const int mb2=5;//电机右-接口5
    const int mc1=6;//以此类推
    const int mc2=7;
    const int md1=8;
    const int md2=9;
    //————————-下面定义电机PWM信号输出口
    //作用:控制电机的转动速度
    const int Ena=20;//电机A转速输入口
    const int Enb=19;//电机B转速输入口
    const int Enc=18;//以此类推
    const int End=21;
    //————————-
    /const int Q1=28;//B相输入
    const int Q2=26;
    const int Q3=22;
    const int Q4=24;
    /
    bool rev1,rev2,rev3,rev4;//方向
    //————————-上面是中断读取霍尔传感器转速端口
    int mafor,mago,maturn;
    int mbfor,mbgo,mbturn;
    int mcfor,mcgo,mcturn;
    int mdfor,mdgo,mdturn;
    //————————-4电机的旋转,平移,前后值
    const int L=1015,R=1035;
    double M1PWMOUT,M2PWMOUT,M3PWMOUT,M4PWMOUT;//M1输出pwm,M2输出pwm,以此类推
    double ref1,ref2,ref3,ref4;//四个电机的参考转速
    double in1,in2,in3,in4,M1S,M2S,M3S,M4S;//in1-4是脉冲的个数,M1-4S是转换成转速(没有单位)后的值
    double Kp=6, Ki=1.3, Kd=0.1; //PID系数
    unsigned long t;