Seite 1 von 1

Verstehe Fehler nicht

Verfasst: Mo Jan 11, 2021 5:05 pm
von afugabe13
Mir zeigt der die ganze zeit einen Fehler an in der dicken Zeile, ich verstehe den Fehler aber nicht, kann mir da jemand weiter helfen?

Code: Alles auswählen

//Deklaration der Variablen: 
int ClockCounter = 0; 
int MaxValue = 50; 
int state = 0;
int Edge1 = 0; 
unsigned long Start,Ende;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  Start = 0; 
  Ende = 0;
}

void loop() {
  
while (ClockCounter < MaxValue) {
ClockCounter = ClockCounter +1;
   
if (ClockCounter = MaxValue) && (state = 1) && (Edge1 = 1) {
  Edge1 = 0;
  Ende = micros() 
  Serial.println(Ende-Start);
}
[b]else if (ClockCounter = MaxValue)&&(state = 1){
[/b]  Edge1 = 1 Start = micros()
}
else if(ClockCounter = MaxValue){
  ClockCounter = 0;
  state = 1;
}
else{
  ClockCounter = ClockCounter + 1;
}
}
}

Re: Verstehe Fehler nicht

Verfasst: Mo Jan 11, 2021 5:37 pm
von Xin
Ufz... ^^

Also erstmal der Code:

Code: Alles auswählen

else if (ClockCounter = MaxValue)&&(state = 1){
  Edge1 = 1 Start = micros()
Ja, was zeigt der Compiler denn an? Vermutlich "Semikolon expected". So zweimal.
Dann dass && unerwartet kommt. Und vermutlich möchtest Du auch im Vergleich (==) keine Zuweisung machen (=).
Die Klammer gehört erstmal hinter das if(). Darin kannst Du auch Klammern setzen, aber wichtig ist erstmal die Klammer für das if und kannst Du nicht unterbrechen:

Code: Alles auswählen

else if (ClockCounter == MaxValue && state == 1){
  Edge1 = 1 Start = micros()
Den Rest vom Code habe ich mir jetzt nicht angeguckt, aber wenn in zwei Zeilen schon 5 Punkte sind, könnte ich mir vorstellen, dass sich da noch einer findet. ;-)