mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Puffer für UART 2313


Autor: Jürgen Woetzel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich möchte ein LCD über die serielle Schnittstelle meines PC
betreiben (9600 Baud),dazu habe ich einen AT90S2313 mit MAX232
an Com2 angeschlossen.
Da das LCD bei bestimmten Befehlen (Display Clear = 5 mS) braucht,
werden beim Polling des Uart Zeichen überlesen,in meinem Fall 4-5.

Ok, dachte ich mir machst nen Puffer im SRam von $60-$7f, das sind 32
Bytes und schreibst die Daten im Interrupt in den Puffer.

Das Programm in Anhang läuft auch Wunderbar, allerdings nur im
Simulator.
Im AVR kommen nach einigen Korrekten Zeichen willkürlich 0 Bytes
zurück, obwohl das eigentlich garnicht möglich sein sollte.

Ich hab das Programm schon x-mal durch den Simulator laufen
lassen(Studio4).
Das müsste laufen.

Weiss jemand Rat ?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so ganz habe ich es nicht verstanden, aber auf jeden Fall solltest du in
der ISR erstmal das SREG sichern.
Ansonsten macht es die ganze Verwaltung des Puffers einfacher, wenn du
eine Zählvariable mitlaufen lässt, bei jedem empfangenen Byte wird die
incrementiert, bei jedem Lesen decrementiert. Lesen aus dem Puffer
kannst du immer dann, wenn diese Variable >0 ist.

Autor: Jürgen Woetzel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
THX

Das war Tatsächlich da Statusregister *schäm läuft jetzt alles Super.

Vielen dank.

Da ich keine 0-Bytes zum LCD sende habe ich einfach die Null als nix da
deklariert und spar mir so die Zählvariable.

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.