mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik for schleifen Problem


Autor: Der Grosse (jonnyk)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> found = NO;
Was bitte ist NO? Wo ist das definiert?

Abgesehen davon: Benutze bitte die Codeformatierung.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.