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
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/linux_hlvt100.html Grüsse Johnny
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
> 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...
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
> 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)
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.