PC RS232 als Bildschirm für AVR verwenden

Gast #1911099
Lesenswert?
• ▲
▼
Mahlzeit,
ich würde gerne per RS232 den PC als Display für meinen AVR verwenden, 
allerdings habe ich das Problem, wenn ich sekündlich etwas schicken 
möchte, dass alles untereinander angezeigt wird, ich hätte aber gern, 
dass es jedesmal überschrieben wird. Gibt es einen Befehl um die gesamte 
Konsole zu löschen? Denke mal nicht, oder? Habt ihr eine andere Idee?

Lg
Hofinger
Persönliche Seite #1911137
Lesenswert?
• ▲
▼
@Hofinger

Also VT100 kann ich auch nur empfehlen. Ist recht einfach zu 
implementieren und bietet viele Möglichkeiten. (Cursor, Farben).
Ich selbst habe damit schon eine Menüsteuerung realisiert. Ging sehr 
schnell von der Hand. Mit ner handvoll Funktionen lässt sich sehr viel 
machen, egal ob Debugging, Menüsteuerung oder eben das sekündliche 
Update eines Bildschirmbereiches zur Ausgabe. Als "Monitor" reicht dann 
hyperterm oder putty.
Und die paar ESC-Sequenzen sind im nu implementiert.
Dann mal ran ans Werk :-)
#1911155
Lesenswert?
• ▲
▼
Übrigens solltest du von der Technik des 'Ich lösche mal den ganzen 
Bildschirm' Abstand nehmen.

* Das dauert dann relativ lange bis wieder alle Fixtexte am Monitor 
stehen.
* Zudem flackert es
* Die in den letzten Zeilen ausgegebenen Dinge sind schlecht zu lesen 
eben weil sie sie höllisch flackern

Daher ist die meistgebrauchte Escape Sequenz die des 
Cursor-Positionierens.

Es ist auch oft recht hilfreich, wenn man sich vorher einen Plan macht, 
wie die Anzeige aussehen soll, welche Texte wohin kommen, welche fix 
sind, welche variabel sind, wie groß die Feldbreiten sein sollen. Auch 
sollte man den Vorteil des rechtsbündigen Ausgebens von Zahlen (also mit 
führenden Leerzeichen bzw. führenden Nullen) nicht unterschätzen. Dann 
braucht man meistens das Feld vorher nicht löschen, sondern kann einfach 
die neue Zahl drüberschreiben, ohne das Artefakte des vorhergehenden 
Inhalts übrig bleiben.

Auf Anforderung des Benutzers (Spezialtaste) kann man dann immer noch 
einen kompletten Monitor-Update machen, damit man sich auch im laufenden 
Betrieb an den µC frisch koppeln kann und dann wieder eine vollständige 
Anzeige (inklusive Fixtexte) anfordern kann (oder die zb in jedem 10 
Updatezyklus automatisch gemacht wird. Da steht dann Tür und Tor offen)
Gast #1911189
Lesenswert?
• ▲
▼
So, nachdem jetzt jeder nur schmarrn geschrieben hat, antworte ich jetzt 
mal auf die Frage:


Du mußt am Ende der Zeile nicht ein "carriage return, line feed" 
schicken, sondern nur ein "carriage return"

also  0x0D am Ende der Zeile statt 0x0A ( Also HEX 0D, Dezimal 13, im 
C-Code schreibt mann statt \n also ein \r)



Dann wird deine (eine) Zeile auf dem Bildschirm überschrieben....

Antwort schreiben

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.

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.