Go Down

Topic: Fehlermeldung wenn ein zurückgegebener Wert verwendet werden soll (Read 427 times) previous topic - next topic

Hallo Zusammen,
ich komme gerade nicht mehr weiter, folgende Fehlermeldung erscheint:

invalid conversion from 'byte (*)()' to 'byte' bezogen auf die 4. Zeile im Loop
auch lcd.print(Tasten); gibt mir eine Fehlermeldung :(
die Schleife byte Tasten(); wird zumindest ausgeführt(und "i" korrekt auf dem LCD angegeben)

Ich stehe noch recht am anfang und hoffe das ich nur nen blöden Fehler drin hab

Vielen Dank & Grüße,
Matthias

IDE 1.0.1 Mega2560
Code: [Select]

#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup () {
// Input/Outputs

 // LCD Setup
       lcd.begin(16,2);

   //Begrüßung
       lcd.setCursor (0, 0);
       lcd.print ("Hallo");
       lcd.setCursor (0, 1);
       lcd.print ("V 0.0.1");
       delay (2500);
       lcd.clear ();
}
void loop () {
 Tasten();
byte zzz;
zzz = Tasten;

}

////////////////////////////////////////////////////////////////////////////////////////////
byte Tasten() {
  int v;
  int i;
  v = analogRead(A0);
 
 if (v>820){ //none 1023
   i = 0;
 }
   else if (v>570 && v<821){ // select 742
   i = 1;
 }
   else if (v>410 && v<571){ //left 505
   i = 2;
 }
   else if (v>72 && v<181) {//up 144
   i = 3;
 }
   else if (v>180 && v<411) { //down 329
   i = 4;
 }
   else { //right 0
   i = 5;
 }
 lcd.print (i);
 return i;
}

Hallo,

auf die Schnelle fällt mir folgendes auf:

  Tasten();     <- Hier fehlt die Variable die den Rückgabewert erhält
byte zzz;
zzz = Tasten; <- Tasten() - in der Funktion wird die Variable i übergeben, ein Integer
                                     aber die Funktion liefert ein Byte zurück

Viele Grüße


Roberter

Hallo,

und wenn Du mal versuchst: zzz = Tasten(); und das ganze nicht als byte sondern int?

LG
Robi

Danke Robi,
zzz = Tasten(); funkioniert // hab auch alles jetzt auf byte gesetzt :)

Danke!

Go Up