Warum geht hier das pollen einer Variablen nicht?

Gast #40829
Hallo Leute,

in einem Programm, das ich erstellen muß, möchte ich eine Struktur
einbauen, so wie sie im Anhang ist:

Sobald ein Zeichen über UART kommt wird die Variable read_in auf 1
gesetzt, meiner Meinung nach müsste der Prozessor (AT90S2313) ja dann
in der main Funktion die Anweisungen der if-Abfrage in der
Endlossschleife genau einmal ausführen. Das tut er aber nicht. Die
Serviceroutine des UART wird ausgeführt, da die LEDS am STK500 einmal
umschalten. Habe dann auch die Toggle Anweisung mal in die if-Abfrage
gesetzt - aber keine Reaktion, es passiert gar nix, als ob er eben
nicht diese Anweisungen ausführt.

Weiß von euch jemand was hier los ist?? Das müßte doch eigentlich eine
Standardprogrammiermethode sein, oder?

Viele Grüsse,

Markus.
Angehängte Dateien:
Gast #40831
Hey Jörg,

danke,

jetzt geht es, und mit "volatile" vorne dran sendet er auch nicht nur
die Null aus der Initialisierung sondern den richtigen Wert zurück.

Viele Grüße Markus.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.