Hallo Leute, ich gebe momentan ein paar Werte über die UART raus. Alle Werte befinden sich in einer Zeile. Am Anfang einer Ausgabe Lösche ich erst alles per "\033[2J" und schreibe es dann neu im Terminal(es soll nicht jedes mal eine neue Zeile entstehen). Momentan kann man sehen dass die Zeile von links nach rechts aufgebaut wird, was nicht so schön ist. Nun zu meiner Frage: Gibt es die möglichkeit den Text erst sichtbar zu machen sobald die Zeile fertig geschrieben ist?
> Gibt es die möglichkeit den Text erst sichtbar zu machen > sobald die Zeile fertig geschrieben ist? Ich glaube: nein Zu Zeiten, als wir noch mit Modems kommunizierten, war es völlig normal, dass man dem Aufbau der Bildschirmseiten zuschauen konnte. Und danach wurde an diesen Sequenzen meines Wissens nach nichts mehr geändert.
Die Baudrate erhöhen? Bei 1Mbaud dauern 80 Zeichen nicht mal eine Millisekunde.
Es sieht wesentlich besser aus, wenn man möglichst wenig löscht sondern den alten Inhalt überschreibt. Im einfachsten Fall verwendet man statt "\033[2J" nur "\r". Man kann die Textausgabe gezielt in einer bestimmten Zeile und Spalte beginnen mit z.B. "\033[1;11H" für Zeile 1, Spalte 11. Wenn die Texte unterschiedlich lang sind, kann man (nur!) den Rest der Zeile mit "\033[K" löschen. So ähnlich betreibe ich Displays mit 4800 Baud, da kann man den Bildaufbau natürlich beobachten, aber nur beim ersten Mal. Wenn sich eine Information ändert, sieht man kein Flackern. Beschleunigt wird das ganze, indem ich den statischen Text nur einmal schreibe und dann nur noch die Änderungen gezielt ausgebe.
Cursor positionieren, nur die Änderungen ausgeben. War damals so üblich. funktioniert gut und reicht.
Mathias F. schrieb: > Gibt es die möglichkeit den Text erst sichtbar zu machen sobald die > Zeile fertig geschrieben ist? Theoretisch ist es möglich. Praktisch hängt es von der Funktion des Terminals ab - und die meisten Emulatoren können es nicht. Schau dir die Page-Kommandos wie Next Page (NP), Page Position Absolute (PPA), Page Position Forward (PPF) usw. in http://www.ecma-international.org/publications/standards/Ecma-048.htm an. Dummerweise sind die richtigen Sequenzen auch noch schwierig zu konstruieren, weil der Standard eine übertrieben komplizierte Darstellung gewählt hat.
Mathias F. schrieb: > Gibt es die möglichkeit den Text erst sichtbar zu machen sobald die > Zeile fertig geschrieben ist? Viele Terminals können mehrere Seiten. Also abwechselnd Seite 1 bzw. Seite 2 komplett aufbauen und danach mit 1 Kommando umschalten.
MaWin schrieb: > Mathias F. schrieb: >> Gibt es die möglichkeit den Text erst sichtbar zu machen sobald die >> Zeile fertig geschrieben ist? > > Viele Terminals können mehrere Seiten. > Also abwechselnd Seite 1 bzw. Seite 2 komplett aufbauen und danach mit 1 > Kommando umschalten. Also das gleiche, was Jack schon vorgeschlagen hatte. Nur bei ihm war ein Link dabei, in dem man nachlesen kann...
Mathias F. schrieb: > Habe ich schon mit 256000 getestet. Also 115.2k 230.4k und dann eher 1MBaud, 2 oder 3, zumindest bei den billigen USB-umsetzer
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.