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
  Mehrere HX711 mit einem Arduino Uno be14b029 5 132 08.02.2017 18:09
Letzter Beitrag: Binatone
  8 Taster an einem Pin Kitt 9 345 04.02.2017 18:51
Letzter Beitrag: ardu_arne
  Code aus 1.6.9 geht mit 1.8.1 nicht mehr zu kompilieren DL1AKP 7 253 02.02.2017 12:16
Letzter Beitrag: Tommy56
  aufeinander Aufbauende Lichtaktion mit einem Taster Colby 9 402 17.12.2016 13:30
Letzter Beitrag: Colby
  Bridge und TemperaturWebPanel in einem Skript j_ard 4 302 17.12.2016 11:06
Letzter Beitrag: j_ard
  A4988 Driver mit einem Nema 17 Hangloose 3 262 04.09.2016 21:49
Letzter Beitrag: Hangloose
  Arduino lässt sich nicht mehr beschreiben Maxi290997 15 1.268 07.08.2016 11:40
Letzter Beitrag: Maxi290997
  Funktion mit Parameterübergabe - u8g torsten_156 8 488 22.06.2016 18:53
Letzter Beitrag: Pit
  Kann ich mit einem Arduino ein Gyro für Adroid Simulieren? Demitos 0 471 16.03.2016 18:33
Letzter Beitrag: Demitos
  Ansteuerung von einem Relais mit einem PS2 Controller minigarage 2 380 11.03.2016 15:31
Letzter Beitrag: minigarage

Gehe zu:


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