Liebe Experten,
dies ist meine erste Frage an das Forum. Es geht um das Thema Parameterübergabe an eine Funktion. Ich rufe im Setup die Funktion driveStraight auf und drucke dort die Variable motor_power aus. Übergebe ich diese Variable an die Funktion drive und drucke sie dort aus, kommt was echt komisches raus (sind das Adressen?). Rechne ich danach mit einer der übergebenen Variablen in dieser Funktion, ist die Welt wieder in Ordnung. Das ist das Ergebnis des Programmes:
in driveStraight motor_power : 200
in drive power_a: 12148200
in drive power_b: 12148200
210
ich hoffe ich habe klar genug gestellt. Danke für die Mühe. Mit dem Einbinden des Codes in das Forum habe ich noch Schwierigkeiten. Ich hoffe ich habe alles richtig gemacht.
const int motor_power = 200;
void setup() {
Serial.begin(9600);
driveStraight();
}
//void driveStraight(float dist, int power)
void driveStraight()
{
// Debug
Serial.print("in driveStraight motor_power : "); Serial.println(motor_power);
drive(motor_power, motor_power);
}
void drive(int power_a, int power_b)
{
int test;
// Debug
Serial.print("in drive power_a: ");Serial.print('/t');Serial.println(power_a);
Serial.print("in drive power_b: ");Serial.print('/t');Serial.println(power_b);
test = power_a+10;
Serial.print(test);
}
void loop() {
}