在调试时,我开始设置断点,以查看错误的位置,并且在线路上发生了错误 motor[3] = -SPEED/2; 事实证明,使用第三个电机时,使用正确的语法 motor[motorA]=-SPEED/2; 。我不确定为什么只有这个电机才能返回这个错误,因为我正在使用另外两个我设置新速度的电机
motor[3] = -SPEED/2;
motor[motorA]=-SPEED/2;
motor[1]=SPEED; motor[2]=SPEED;
但是,这是废除错误的方法。
关于为什么只有电机[3]导致错误的答案实际上非常简单。 motorA,motorB和motorC值在枚举中定义,其中motorA = 0,motorB = 1,motorC = 2。因此,电机[1]和电机[2]相当于调用电机[motorB]和电机[motorC]。但是,电机[3]并不等同于任何东西。它试图设置不存在的电机的功率。然而,电机[0]可以,并且对应于电机[motorA]。