www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zeichenketten empfangen


Autor: Karsten Libenow (kongs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Ich habe ein STK 500 Board mit einem  At90s8515 drauf. Ich möchte über
Uart Zeichenketten einlesen und je nach Befehl soll was ausgeführt
werden. z.b wenn ich im Terminal "LED1 an" soll er eine beliebige led
einschalten. Ich habe versucht zeichenketten mit getchar, getstring und
strcmp und co einzulesen und auszuwerten aber dies klappt nicht. Kann
mir da jemand weiterhelfen? Ich habe schon hier in den Foren gesucht
aber leider nix gefunden-

Autor: The Daz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deinen code nicht vergessen anzuhaengen !

Autor: Karsten Libenow (kongs)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier der quellcode, warscheinlich nur schrott

Autor: The Daz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karsten, fang mal erstmal an saemtliche globalen Variablen, die von der
interrupt Routine modifiziert werden, als volatile zu deklarieren.
Ansonsten kommt der compiler auf die Idee, die Dinger wegzuoptimieren.

Autor: Karsten Libenow (kongs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jau danke jetzt klappt der Vergleich:). Was hat das auf sich mit
volatile?? Heißt das wenn ich kein volatile benutze der compiler die
globalen Variabeln irgendwo zuordnet? Sollte ich generell volatile für
globale Variabeln nutzen??

Autor: The Daz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
volatile sagt dem compiler, die variable kann ausserhalb des normalen
Programmablaufs modifiziert werden. Der Compiler muss dann saemtliche
Optimierungen des Zugriffs auf diese Variable unterlassen. Wenn du die
Variable auf 0 initialisierst und im main dann auf != 0 checkst
optimiert der compiler normalerweise das ganze Konstrukt weg, weil das
Hauptprogramm die Variable nicht modifiziert, und die komische Routine
mit dem Namen interrupt() wird ja seiner Meinung nach garnicht
aufgerufen. Mit volatile gewoehnst du ihm das ab.

Autor: The Daz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachzulesen unter :

http://www.mikrocontroller.net/articles/AVR-GCC-Tu...

Topic "Datenaustausch mit Interrupt-Routinen"

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.