char配列とifステートメントに問題があります。
私はやろうとします:
void Motors::manualMotion(int CycleDutyAzim,int CycleDutyPitch,char directionAzim[],char directionPitch[]){
setCycleDutyA(CycleDutyAzim);
setCycleDutyP(CycleDutyPitch);
if(directionAzim=="FORW"){
moveForwAzim();
}else if(directionAzim=="BACK"){
moveBackAzim();
}else{
Serial.println("FAIL");
handbreakAzim();
}
if(directionPitch=="FORW"){
moveForwPitch();
}else if(directionPitch=="BACK"){
moveBackPitch();
}else{
Serial.println("FAILED");
handbreakPitch();
}
}
私はいつもserial.printsにメッセージを表示します。配列ではなくcharで動作するようにしました。正しく動作するための構文は何ですか。メソッドを呼び出すと、次のようになります。
Motors::manualMotion(90,50,"FORW","BACK");
動作しません。FやBのような1つの文字を使用すると、正しく動作します。