Forum: Mikrocontroller und Digitale Elektronik for schleifen Problem


von Der G. (jonnyk)


Lesenswert?

Hallo leute kann mir wer Helfen irgend wie funktioniert meine funktion 
nicht:

und zwar habe ich in einer Funktion so ne schleife:

for(semi_zehler = 0; semi_zehler<4;semi_zehler++)
  {
    //Die 3 befehls zeichen einlesen
    for(zehler = 0;zehler <3;zehler++)
    {
      befehl[buffer_zeichen] = buffer[buffer_zeichen];
      buffer_zeichen++;
      befehl_zeichen++;
    }
    // ':', '?', ' ', '\0', '\r' oder '\n' suchen
    found = NO;
    while(found == NO)
    {
      if(buffer[buffer_zeichen] == ':' || buffer[buffer_zeichen] == '?' 
|| buffer[buffer_zeichen] == ' ' ||
         buffer[buffer_zeichen] == '\0'|| buffer[buffer_zeichen] == 
'\n'|| buffer[buffer_zeichen] == '\r')
      {
        befehl[befehl_zeichen] = buffer[buffer_zeichen];
        befehl_zeichen++;
        found = YES;
      }
      else if(buffer_zeichen >= 50)
      {
        return(1);
      }
      buffer_zeichen++;
    };
    //Prüfen ob es ein Frage zeichen oder string ende zeichen war, dann 
raus.
    if(befehl[befehl_zeichen-1] == '?'||buffer[buffer_zeichen-1] == 
'\0'|| buffer[buffer_zeichen-1] == '\n'||
       buffer[buffer_zeichen-1] == '\r')
    {
      befehl_auswerten();
    }

  }
und diese schlefe will er nicht ausführen.
wenn ich mit dem debugger drüber gehe kann ich z.b. die werte 
befehl_zeichen und buffer_zeichen nciht anzeigen lassen er meldet 
Location not valid.

wie kommt es. die schleifen zehler werden alle nicht gezählt. bis auf 
semi_zähler bei den anderen for´s läuft er einmal durch und das wars.

bedanke mich im vorraus.

von Johannes M. (johnny-m)


Lesenswert?

> found = NO;
Was bitte ist NO? Wo ist das definiert?

Abgesehen davon: Benutze bitte die Codeformatierung.

von Johannes M. (johnny-m)


Lesenswert?

> bei den anderen for´s läuft er einmal durch und das wars.
Ich sehe nur insgesamt zwei for-Schleifen, mehr nicht.

Und die Probleme mit den Zählvariablen kann man nur anhand des Kontextes 
nachvollziehen, nicht mit einem Codeausschnitt, in dem sämtliche 
Variablendefinitionen fehlen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.