Verstehe Fehler nicht

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
afugabe13
Beiträge: 1
Registriert: Mo Jan 11, 2021 5:03 pm

Verstehe Fehler nicht

Beitrag von afugabe13 » Mo Jan 11, 2021 5:05 pm

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;
}
}
}

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8665
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Verstehe Fehler nicht

Beitrag von Xin » Mo Jan 11, 2021 5:37 pm

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. ;-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten