mikrocontroller.net

Forum: PC-Programmierung Terminalcodierung


Autor: Tilo L. (katagia)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten morgen.

Ich will einen uC über RS232 mit einem Terminalprogramm ansprechen.
Ich kann Text senden und empfangen, die Kommunikation klappt also.

Ich will Verschiedene Parameter in einer Tabelle ausgeben.
Die Parameter sollen jede Sekunde aktualisiert werden.
Die neuen Werte der Parameter sollen genau dort stehen, wo die
alten Parameter standen.

Wie kann man so etwas realisieren?

Als nächstes habe ich noch eine Frage zum Zeichensatz.
Ich arbeite mit deutschen Windows XP. Das Programm des uC
schreibe ich mit Programmers Notepad. Als Terminalemulation
wird ANSI verwendet.
Wie sind die Ascii-Zeichen über 127 definiert?
Welche Codepage?

Vielen Dank, Tilo

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde z.B. einen VT100 Terminal-Emulator nehmen. Für das verschieben 
des Cursors und noch 100 andere Funktionen, sind ESC Sequenzen 
zuständig:
http://www.comptechdoc.org/os/linux/howlinuxworks/...

Grüsse
Johnny

Autor: Tilo L. (katagia)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, genau so etwas wollte ich.

Kannst du mit das mit den ESC Sequenzen nochmal genauer erklären?
Beispiel: ESC[nA
Sende ich den String "ESC[nA" oder den Ascii-Code für ESC plus [nA,
also 0x1B + [nA ?

Bis dann, Tilo

Autor: irgendein Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vt100.com

Autor: Tilo L. (katagia)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, auf vt100.net, nicht auf vt100.com, habe ich ein paar
Infos gefunden.

Autor: Bartli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wie sind die Ascii-Zeichen über 127 definiert?

Äh gar nicht ? Der ASCII-Code definiert nur 128 Zeichen, und die haben 
die Codes 0..127...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tilo Lutz wrote:
> Super, genau so etwas wollte ich.
>
> Kannst du mit das mit den ESC Sequenzen nochmal genauer erklären?
> Beispiel: ESC[nA
> Sende ich den String "ESC[nA" oder den Ascii-Code für ESC plus [nA,
> also 0x1B + [nA ?
>

Das n ersetzt du durch die Zahl die du brauchst.
Ich weiss jetzt nicht auswendig was ESC[nA macht.
Mal angenommen es verschiebt den Cursor n Zeilen
nach oben.
Wenn du also den Cursor 5 Zeilen nach oben haben
willst, schickst du   ESC[5A, wenn es nur 3 Zeilen
sein sollen: ESC[3A

Und ja ESC steht für ein ASCII Zeichen, nämlich das
ASCII Zeichen 0x1B. Für ESC[4A geht also
über die Leitung  0x1B  0x34  0x65

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Und ja ESC steht für ein ASCII Zeichen, nämlich das
> ASCII Zeichen 0x1B. Für ESC[4A geht also
> über die Leitung  0x1B  0x34  0x65

Stimmt fast:
0x1B (ESC)
0x5B ([)
0x34 (4)
0x41 (A)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.