Puffer für UART 2313

Gast #62431
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 ?
Angehängte Dateien:
Gast #62432
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.
Gast #62433
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

Eine eigene Frage? Dieser Thread ist über 22 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.