Modellbahnsteuerung mit C++ und Adruino
-
Guten Morgen Zusammen,
ich bin noch neu hier und noch nicht versiert mit C++.
Ich möchte über einen Adruino meine Modellbahn steuern.
nun bekomme ich aber eine Fehlermeldung, mit der ich nichts anfangen kann, da die Definition schon früher geschieht:void setup() {
int i = 0;
}void loop(){
for (0; i < 5; i=i+1);
if (i==5){
delay(1000);
digitalWrite(Signal_Gleis_5_Grun, LOW);
digitalWrite(Signal_Gleis_5_Gelb, HIGH);
delay(1000);
digitalWrite(Signal_Gleis_5_Gelb, LOW);
digitalWrite(Signal_Gleis_5_Rot, HIGH);
}
if (i==6){
for(Fahrstrom_Gleis_5 = 255 ; Fahrstrom_Gleis_5 <= 0; Fahrstrom_Gleis_5--);
analogWrite(10, Fahrstrom_Gleis_5);
delay(50);
i=0;
digitalWrite(Fahrstrom_Gleis_5, LOW);
}der Kompiler markiert mir diese Zeile:
if (i==6){
mit der Meldung:
'i' was not declared in this scopewas mache ich flasch?
-
Wo ist i definiert?
for (0; i < 5; i=i+1);
Was erwartest du davon?
-
@HaPeBe Das i in setup ist lokal. Das gilt nur in setup
-
@DirkB sagte in Modellbahnsteuerung mit C++ und Adruino:
@HaPeBe Das i in setup ist lokal. Das gilt nur in setup
Hallo Dirk,
warum wird das i dann vorher akzeptiert? Im 1. Teil des Loop?
-
Eigentlich müsste es schon bei
if(i==5)
krachen.
Du deklarierst i nur im Schleifenkörper deiner for-Schleife. Da du die for-Anweisung mit einem ';' abschließt hat die Schleife gar keinen Schleifenkörper in dem etwas passieren könnte.
-
@HaPeBe sagte in Modellbahnsteuerung mit C++ und Adruino:
warum wird das i dann vorher akzeptiert? Im 1. Teil des Loop?
Wird es nicht. Vielleicht kannst du deine IDE/deinen Compiler nicht richtig bedienen.
-
Ist sicher die gammelige Arduino IDE. Von der kann ich nur abraten.