www.mikrocontroller.net

Forum: Compiler & IDEs Problem mit einer if-Abfrage


Autor: Peter Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
N´abend...

Ich habe eine if-Abfrage in einer while Schleife laufen.

unsigned char t;

while(1)
{ if(t == 9) { ...tu dies...
              t = 0;}
}

Jetzt habe ich nebenbei einer Timer laufen, der jede Sekunde ausgelöst 
wird.
Sobald der Timer bis 9 gezählt hat, soll er die Routine abarbeiten.

void handler() // quasi meine Timer Routine
{ t++;
}

Dabei habe ich ein Problem. Es kommt vor, dass mein t++ nicht richtig 
funktioniert!
Wohlgemerkt der Timer läuft 100% richtig, auf die Sekunde ! ! !
Ich habe alles überprüft!

Ich denke das sich die Variable t als unsigned char nicht richtig eignet 
für so eine Abfrage!? Kann das sein?

Was kann ich dagegen tun?

Oder andersrum gefragt, soll ich so etwas anders programmieren?
Falls ja, schreib mir mal was bitte!

Ist eigentlich völlig trival und mir eigentlich schon zu blöd die Frage 
hier reinzustellen, aber es ist wie es ist!!

Gruss Peter

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du t als volatile deklariert? Sonst wird der Compiler wohl die 
Überprüfung wegoptimieren, da t eigentlich gar nie verändert wird.

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.