INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Funktion/Methode mit mehr als einem Ausgangswert
19.10.2015, 16:24
Beitrag #9
RE: Funktion/Methode mit mehr als einem Ausgangswert
Hi,
ja (bis auf die [] beim Funktionsaufruf) , aber ich persönlich würde das niemals so machen (ich weiß, dass es einige ANSI-C-Funktionen so machen, da finde ich es aber auch schlecht). In Deinem Beispielprogramm wird nicht klar, warum man das überhaupt mit dem Pointer macht. Ich würde es so machen:
Code:
void myfunction(float arr[]) {
   arr[0] = 5;
   arr[1] = 3.1415;
    // etc
}

void loop() {
    float myarray[10];
   //...
  myfunction(myarray);
   //...  
}
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.10.2015, 16:51 (Dieser Beitrag wurde zuletzt bearbeitet: 19.10.2015 16:53 von HaWe.)
Beitrag #10
RE: Funktion/Methode mit mehr als einem Ausgangswert
ich habe das nur gemacht mit dem

fbuf = myfunction(myarray); // berichtigt

weil der TO einen Array als Funktions-Rückgabewert wollte, und so bekommt er ihn! 8-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.10.2015, 08:55
Beitrag #11
RE: Funktion/Methode mit mehr als einem Ausgangswert
Hallo ihr beiden!

Erst einmal ein großes Dankeschön an Euch für Eure Unterstützung und Eure Bereitschaft Euer Wissen zu teilen!

Ich habe mich an der struct Methode versucht. Ergebnis:

Fehlermeldung nach dem Übersetzen:
"mulitVar was not declared in this scope"
"expected ';' before ArrayValue"

Mein Code:
Code:
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  
}

float InputValue = 2.0;

typdef struct {
    float aFloat;
    float bfloat;
    float cfloat;
}multiVar;

multiVar myFunc(float inValue) {
    multiVar retVal;
    retVal.aFloat = inValue * 2.0;
    retVal.bfloat = inValue * 3.0;
    retVal.cfloat = inValue * 4.0;
    return retVal;
};

void loop() {
  // put your main code here, to run repeatedly:
   multiVar ArrayValue = myFunc(InputValue);
    
   Serial.println(ArrayValue.afloat);
   Serial.println(ArrayValue.bfloat);
   Serial.println(ArrayValue.cfloat);
}
[/code]

Was mache ich hier falsch?

Gruß
Marduino_UNO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.10.2015, 08:59
Beitrag #12
RE: Funktion/Methode mit mehr als einem Ausgangswert
Hi,
Code:
}multiVar;
Mach da mal ein Leerzeichen zwischen } und multiVar.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.10.2015, 09:38
Beitrag #13
RE: Funktion/Methode mit mehr als einem Ausgangswert
Das hat leider auch nicht geholfen.

Andere Fehlermeldung:
"multiVar does not name a typ"

Gruß
Marduino_UNO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.10.2015, 09:45
Beitrag #14
RE: Funktion/Methode mit mehr als einem Ausgangswert
Hi,
könntest Du nochmal Dein komplettes Coding (per copy&paste) hier reinkopieren, sowie alle Fehlermeldungen inklusive Zeilenangabe?
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.10.2015, 09:47
Beitrag #15
RE: Funktion/Methode mit mehr als einem Ausgangswert
Erster Fehler:
typedef anstatt typdef

Fehlermeldung: "multiVar does not name a typ" bleibt jedoch bestehen

Gruß
Marduino_UNO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.10.2015, 09:48
Beitrag #16
RE: Funktion/Methode mit mehr als einem Ausgangswert
...siehe meinen letzten Beitrag

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  A4988 Driver mit einem Nema 17 Hangloose 3 140 04.09.2016 21:49
Letzter Beitrag: Hangloose
  Arduino lässt sich nicht mehr beschreiben Maxi290997 15 971 07.08.2016 11:40
Letzter Beitrag: Maxi290997
  Funktion mit Parameterübergabe - u8g torsten_156 8 398 22.06.2016 18:53
Letzter Beitrag: Pit
  Kann ich mit einem Arduino ein Gyro für Adroid Simulieren? Demitos 0 408 16.03.2016 18:33
Letzter Beitrag: Demitos
  Ansteuerung von einem Relais mit einem PS2 Controller minigarage 2 337 11.03.2016 15:31
Letzter Beitrag: minigarage
  Funktion in Loop einmalig ausführen Haustechno 4 645 09.03.2016 22:43
Letzter Beitrag: Haustechno
  Bei Tastendruck ein Ausgang mehr dazu.... hannes77 2 986 07.03.2016 20:48
Letzter Beitrag: hannes77
  HC-05 Modul auf Funktion prüfen. arduinofan 2 365 03.02.2016 19:18
Letzter Beitrag: arduinofan
  Eine Funktion vorher definieren ? arduinofan 23 2.016 30.12.2015 08:42
Letzter Beitrag: amithlon
  Wie steuere ich 2 DC Motoren über ein Motorshield mit einem Joystick? Vittelboy 12 5.580 29.12.2015 09:51
Letzter Beitrag: max123

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste