Hi Leute,
ich habe diese Bspl. aus einem Buch und bekomme beim Übertragen immer die Fehlermeldung, siehe unten und weiß echt nicht wo der Fehler ist. Kann da bitte mal einer kurz drüberschauen!? Ach ja, falls es wichtig ist ich benutze zur Zeit die/den Arduino Duemilanove.
Schinmal schönen Dank im Vorraus
Andreas
int ledPin = 10;
void setup (){
pinMode(13, OUTPUT);
int counter = 0;
int changeMarker = 1;
int changeCounter(){
if (counter == 255){changeMarker = -1;} <---- Fehler?
if (counter == 0) {changeMarker = 1;} <---- Fehler?
counter = counter + changeMarker;
return counter;
}
}
void loop(){
counter = changeCounter();
analogWrite(led, counter);
delay(10)
}
bsp2_buch_funzt_nicht.cpp: In function 'void setup()':
bsp2_buch_funzt_nicht:7: error: a function-definition is not allowed here before '{' token
bsp2_buch_funzt_nicht:19: error: expected `}' at end of input
Ich glaube ich habs. Werde es gleich Zuhause prüfen. Hoffe ich liege richtig ;-)):


vor 23 weeks 6 days
Hallo Andreas
da sind mehrere Fehler.
1) Du kannst keine Funktion innerhalb eine Funktion definieren:
"int changeCounter()" muß außerhalb "setup()" sein.
2) Variablen die innerhalb eine Funktion definiert wurden existieren nur in diesen, nicht außerhalb oder in anderen Funktionen.
int counter = 1;
int changeMarker = 1;
müssen außerhalb des setup() definiert werden.
3) analogWrite() ist die Variable für das Pin ledPin nicht led;
4) bei delay(10) fehlt der Strichpunkt.
Vereinfachung:
statt
if (counter == 255){changeMarker = -1;} <---- Fehler?
if (counter == 0) {changeMarker = 1;} <---- Fehler?
geht auch
if (counter == 255 || counter == 0)changeMarker *= -1;
so werden auch etwahige (unmögliche) Überläufe abgefangen.
Der ganze Kode: ( bei meniem Kode muß Counter bei 1 anfangen.)
Login or register to post comments