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
  aufeinander Aufbauende Lichtaktion mit einem Taster Colby 9 301 17.12.2016 13:30
Letzter Beitrag: Colby
  Bridge und TemperaturWebPanel in einem Skript j_ard 4 252 17.12.2016 11:06
Letzter Beitrag: j_ard
  A4988 Driver mit einem Nema 17 Hangloose 3 154 04.09.2016 21:49
Letzter Beitrag: Hangloose
  Arduino lässt sich nicht mehr beschreiben Maxi290997 15 1.098 07.08.2016 11:40
Letzter Beitrag: Maxi290997
  Funktion mit Parameterübergabe - u8g torsten_156 8 434 22.06.2016 18:53
Letzter Beitrag: Pit
  Kann ich mit einem Arduino ein Gyro für Adroid Simulieren? Demitos 0 438 16.03.2016 18:33
Letzter Beitrag: Demitos
  Ansteuerung von einem Relais mit einem PS2 Controller minigarage 2 360 11.03.2016 15:31
Letzter Beitrag: minigarage
  Funktion in Loop einmalig ausführen Haustechno 4 699 09.03.2016 22:43
Letzter Beitrag: Haustechno
  Bei Tastendruck ein Ausgang mehr dazu.... hannes77 2 1.024 07.03.2016 20:48
Letzter Beitrag: hannes77
  HC-05 Modul auf Funktion prüfen. arduinofan 2 384 03.02.2016 19:18
Letzter Beitrag: arduinofan

Gehe zu:


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