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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren