Forum: Mikrocontroller und Digitale Elektronik AVR UART Ausgabe "Anzeige" löschen


von Sven W. (sickone4)


Lesenswert?

Hallo Leute,

ausnahmsweise frage ich nunmal nichts für mich:

Ein Klassenkamerad sendet in seinem Projekt via UART 3 Zeilen an eine 
Ausgabesoftware.

Dies geschieht via Tastendruck.
Sein Problem dabei ist, dass jedes Mal 3 neue Zeilen geschrieben werden 
und nicht die drei Zeilen überschrieben werden.

mit /n springt er in die nächste zeile, mit /r würde der Wagen an den 
Zeilenanfang springen. Dies geht mit der Software jedoch nicht.

nun die Frage: Gibt es eien Befehl, den man senden kann via UART, der 
die Ausgabe löscht? also ein clearAll Befehl?

Gruß

von Karl H. (kbuchegg)


Lesenswert?

Sven Weinmann schrieb:

> nun die Frage: Gibt es eien Befehl, den man senden kann via UART, der
> die Ausgabe löscht? also ein clearAll Befehl?

Formfeed könnte man probieren.
Aber wenn schon die Trennung aus Carriage Return und Line Feed nicht 
funktioniert, dann wird wohl Form Feed auch nichts sinnvolles machen.

Daher die Antwort:
Da musst du die Leute fragen, die diese andere Software gebaut haben. 
Die wissen ob und wie es geht. Derjenige, der die Zeichen empfängt 
bestimmt, was er damit macht. Dir als Sender ist das vorgegeben und es 
gibt nichts was du dagegen tun kannst.

von g457 (Gast)


Lesenswert?

> Gibt es eien Befehl, den man senden kann via UART, der die Ausgabe
> löscht? also ein clearAll Befehl?

Das hängt von dem Empfänger und dessen Terminal-Emulation ab. Bei VT100 
[0] isses afair
1
\033[2J
Gibt aber (fast) beliebig viele verschiedene Emulationen und 
insbesondere nicht-so-richtig-überwältigend-gute Software unterstützt 
wenig oder keine davon oder es ist nicht dokumentiert..

HTH

[0] http://www.csie.ntu.edu.tw/~r92094/c++/VT100.html

von Sven W. (sickone4)


Lesenswert?

habe es weitergeleitet und er hat sich mal mit dem programm support in 
verbindung gesetzt.

dachte nur, dass es ggf möglich sei z.b. befehle zu senden, wie z.b. 
verbinden/trennen [..] starten/stoppen o.Ä.

ich lese auch bei verschiedenen programmen von handshakes oder LF, CR, 
CR/LF usw, wobei ich jetzt nicht weiß, ob das überhaupt was damit zutun 
hat, oder ob das nur(!) softwareseitige befehle sind!

von Karl H. (kbuchegg)


Lesenswert?

Sven Weinmann schrieb:
> habe es weitergeleitet und er hat sich mal mit dem programm support in
> verbindung gesetzt.
>
> dachte nur, dass es ggf möglich sei z.b. befehle zu senden, wie z.b.
> verbinden/trennen [..] starten/stoppen o.Ä.
>
> ich lese auch bei verschiedenen programmen von handshakes oder LF, CR,
> CR/LF usw, wobei ich jetzt nicht weiß, ob das überhaupt was damit zutun
> hat, oder ob das nur(!) softwareseitige befehle sind!

Schau.
Die Sache ist die.

Du (der Sender) hebt den Hörer ab, am anderen Ende der Telefonleitung 
hebt auch wer ab.
Und dann palaverst du deine Befehle in den Hörer hinein.
Ob und wenn ja wie deine Gegenstelle mit dem gehörten was anfangt oder 
nicht, das liegt nicht in deiner Hand. Wenn dort jemand sitzt, der 
Deutsch spicht, dann stehen die Chancen nicht schlecht, dass er auf das 
Kommando "Fenster aufmachen" auch tatsächlich das Fenster aufmacht. 
Sitzt dort aber ein Amerikaner, dann wird der nur mit den Schultern 
zucken. Dem musst du das Kommando "open window" schicken, damit das von 
dir gewünschte passiert. Und wenn dort ein Buschmann sitzt, dann wird 
der weder mit dem einen noch mit dem anderen Kommando was anfangen 
können. In der Savanne gibt es keine Fenster.


Der Empfänger schreibt dir vor, was du zu schicken hast, damit das von 
dir gewünschte passiert. Und wenn der Empfänger eine gewisse Funktion 
nicht unterstützt, dann kannst du dich Kopf stellen. Nutzt nur nichts. 
Nicht unterstützt ist nicht unterstützt.

Dass ein Terminal ein paar Pixel auf schwarz setzt, wenn du den Code 
0x41 schickst und der Mensch vor dem Monitor das als 'A' liest, ist ja 
auch nichts anderes als eine Konvention, die vom Terminal (also dem 
Empfänger) diktiert wird. Das Terminal könnte ja auch bei Erhalt von 
0x41 wie wild mit dem Buzzer rumtröten. Es ist halt nur eine Konvention, 
die (heutzutage) von vielen unterstützt wird. Das war nicht immer so!
Die halbe EDV besteht aus Konventionen. Das ist ja alles nicht Gott 
gegeben und in Stein gemeisselt. Es gibt auch keine Polizei, die den 
Programmierer verhaftet, wenn sein Programm keine Steuerzeichen zur 
Cursorpositionierung auswertet.

von Sven W. (sickone4)


Lesenswert?

schön geschrieben!

Thx! -> convert_word_to(deutsch);

Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.