我对 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 这样的一个字符时,它可以正常工作。