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
  RC Anwendung mit 3 Empfängereingangen und einem MPU6050 Thorsten_S 19 420 10.12.2017 19:59
Letzter Beitrag: Tommy56
Question Mehrere HX711 an einem Arduino Nano Lambacher 59 2.375 17.10.2017 09:34
Letzter Beitrag: Tommy56
  Servo mit einem Taster und 433mhz steuern Thor Wallhall 63 3.557 29.07.2017 11:02
Letzter Beitrag: Thor Wallhall
  switch case funktion ausser halb loop ??? huber5093 13 1.785 12.04.2017 15:26
Letzter Beitrag: Tommy56
  Probleme mit einem Sketch für einen LED Cube 5x5x5 Frank1234 5 594 13.03.2017 12:12
Letzter Beitrag: Tommy56
  Mehrere HX711 mit einem Arduino Uno be14b029 5 937 08.02.2017 18:09
Letzter Beitrag: Binatone
  8 Taster an einem Pin Kitt 9 999 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 859 02.02.2017 12:16
Letzter Beitrag: Tommy56
  aufeinander Aufbauende Lichtaktion mit einem Taster Colby 9 987 17.12.2016 13:30
Letzter Beitrag: Colby
  Bridge und TemperaturWebPanel in einem Skript j_ard 4 799 17.12.2016 11:06
Letzter Beitrag: j_ard

Gehe zu:


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