Ansteuerung Terminal

Gast #160130
Lesenswert?
• ▲
▼
Hat jemand schon mal ein Terminal(Programm) von einem AVR angesteuert
und wie muß die die ESC Sequence aussehen um den Cursor auf eine
besimmte Position im Screen zu setzen?
ESC[?;?f. Was muß in den ? stehen. Das 1. ? ist der Pointer (Variable)
für die line und das 2. ? ist der Pointer(Variable) für colunm. Muß
vielleicht auf die Pointer noch ein Offset ?.

Im vorraus Dank
Gast #160131
Lesenswert?
• ▲
▼
Was Du an ein Terminal senden musst, damit das Terminal damit irgendwas
sinnvolles macht, hängt vom Terminal(-Programm) und der verwendeten
Terminalemulation ab. Da gibt es sehr viele und sehr unterschiedlicht
(DEV VT52, VT100, Cybernex, Tektronix, TeleVideo 950 ...)

Die von Dir zitierte ESC-Sequenz lässt an VT100 resp. ANSI denken; wenn
Du nach diesen Begriffen googelst, wirst Du sicherlich weitergehende
Informationen finden.

Als Einstieg schon mal das hier http://vt100.net/emu/
Gast #160132
Lesenswert?
• ▲
▼
Die Emulation ist VT100, auch habe ich ein Handbuch.

Ich gehören nicht zur RTL2 Generation und habe auch noch: gar nicht
wird gar nicht zus.... in der Schule mitbekommen.

In dem Handbuch (und auch andere) steht Curs. Pos. (CUP)-Screen
ESC[Pl;PcH leider steht diese ESCape Sequence auch in diversen anderen
WWW Infos über das VT100. Bloß sagt mir das sehr wenig, da es keine
Erklärung für: P (vielleicht Pointer), l (vielleicht line), C
(vielleicht column). Auch gibt es keine Erklärung für den Wertebereich.
Numerical für line 1(c 1... oder offset. Ich suche eigentlich den
Praktiker der schon Erfahrung damit hat. Da meine programmierte ESCape
Sequencen wie Clear screen funktioniert, die ESCape Sequence "Cursor
position" aber nicht.
Gast #160133
Lesenswert?
• ▲
▼
Dann befreie einfach mal den von mir zitierten Link von der Zeichenfolge
"/emu"

Dort verlinkt findest Du ein Handbuch des VT100, aus dem ich jetzt mal
zitiere:


CUP – Cursor Position
ESC [ Pn ; Pn H   default value: 1

The CUP sequence moves the active position to the position specified by
the parameters. This sequence has two parameter values, the first
specifying the line position and the second specifying the column
position. A parameter value of zero or one for the first or second
parameter moves the active position to the first line or column in the
display, respectively. The default condition with no parameters present
is equivalent to a cursor to home action.


Also:

ESC[0;0H für die linke obere Ecke

ESC[0;79H für die letzte Zeichenposition in der ersten Zeile
Gast #160135
Lesenswert?
• ▲
▼
Bei den VT100-Escape-Sequenzen wie der genannten werden numerische Werte
als Klartext übertragen. Kein Offset, schon gar nicht 31 Dezimal.

Bei meinem zweiten Beispiel also die Zeichen
ESC (0x1b)
[ (0x5b)
0 (0x30)
; (0x3b)
7 (0x37)
9 (0x39)
H (0x4b)

Das bedeutet, daß die Länge der Sequenz von der Größe der verwendeten
Zahlen abhängt; wird die Zeilennummer zweistellig, wird die Sequenz
entsprechend länger.

Für die Positionierung auf das 13. Zeichen in der 35. Zeile wird

ESC (0x1b)
[ (0x5b)
1 (0x31)
2 (0x32)
; (0x3b)
3 (0x33)
4 (0x34)
H (0x4b)

gesendet.

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