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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jürgen Woetzel (Gast)


Angehängte Dateien:

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 ?

von crazy horse (Gast)


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.

von Jürgen Woetzel (Gast)


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]
  • [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.