Forum: Mikrocontroller und Digitale Elektronik Steuerzeichen via HyperTerminal


von Malve (Gast)


Lesenswert?

Hallo zusammen,

ich arbeite gerade mit dem Terminalprogramm von Bray++ und versuche das
Steuerzeichen 'EOT' zu senden. Leider funktioniert das nicht so ganz.
Bei Google bin ich auch nicht fündig geworden.
Hab gesehen, dass 'EOT' als ^D gesendet werden kann, aber irgendwie
geht das auch nicht.
Falls jemand ne Idee hat, würd ich mich freuen.

Mfg

Malve

: Gesperrt durch User
von Rufus T. Firefly (Gast)


Lesenswert?

^D ist eine Schreibweise für Ctrl+D (resp. Strg+D). Es bedeutet also
nicht, daß ein Caret (^) gefolgt vom Buchstaben D einzutippen ist.

Ctrl+(irgendwas) funktioniert auch mit Hyperterminal.

von KoF (Gast)


Lesenswert?

schreib es in eine datei und schicke diese dann. so mache ich das.

von Malve (Gast)


Lesenswert?

Hallo,

hab ich bereits versucht, aber bisher noch keinen Erfolg gehabt.
'EOT' hat laut ASCII-Tabelle den Hex-Code 04. Schreib ich das ich ein
File und sende es per HyperTerminal, so werden die Hex-Codes für '0'
und '4' gesendet.

@KoF: Was schreibst Du in Deine Files, damit es klappt?

Mfg

Malve

von Jens123 (Gast)


Angehängte Dateien:

Lesenswert?

Du brauchst auch einen HEX Editor (Ultraedit)

wenn du "04" in eine TXT Datei schreibst, hast du 04 geschroeben
nicht 0x04 als Hex

nim die Datei aus dem Anhang..

von nurmi (Gast)


Angehängte Dateien:

Lesenswert?

ich nehme mal an du hast es so probiert?
siehe anhang

von Jens123 (Gast)


Lesenswert?

nurmi glaube ich nicht, dann haette er Terminal nicht 04 gesendet,
sondern EOT

von Dominik (Gast)


Lesenswert?

Du kannst auch ein Makro erstellen dass Hexcodes schickt. Wenn du dem
Makro "$04" zuweist wird das ASCII-Zeichen mit dem Hex-Code 0x04
gesendet.

von Sebastian (Gast)


Lesenswert?

wie schreibst du es denn in die datei?? mit notepad?
hört sich auf jedenfall danach an. wenn dem so ist dann nimm mal nen
hex editor. weil mir ist nicht ganz klar wie man sonst ein
steuerzeichen "schreiben" sollte.

von Rufus T. Firefly (Gast)


Lesenswert?

Um eine Datei mit dem Inhalt hex! 04 zu erzeugen, darfst Du nicht
"0" und "4" in eine Datei schreiben.

Kommadozeile aufmachen und folgendes eintippen:

copy con datei

dann <enter>-Taste drücken

<Strg> drücken und gedrückt halten
'D' drücken und wieder loslassen
(auf dem Bildschirm wird ^D ausgegeben)
'Z' drücken und wieder loslassen
(auf dem Bildschirm wird ^Z ausgegeben)
<Strg> loslassen

Dann solltest Du eine Datei namens "datei" haben, die exakt 1 Byte
groß ist.

Nötig ist das ganze aber nicht, da wie bereits gesagt, Ctrl+Buchstabe
in Hyperterminal funktioniert.

von Malve (Gast)


Lesenswert?

Hallo zusammen,

vielen Dank für die Antworten! Habs jetzt hinbekommen.

@Sebastian: Funktioniert einwandfrei mit dem Vorangestellten $

Danke!

von Simon Küppers (Gast)


Lesenswert?

Übrigens,
0x04 entspricht Dezimal 4

Im Hyperterminal einfach [ALT] gedrückt halten und aufm NumBlock
hintereinander 0 und 4 drücken und anschließend loslassen. Die 0 Muss
immer vorran gestellt werden, weil Windows den erweiterten Zeichensatz
besitzt. In diesem ist das niedrigste Byte der komplette ASCII satz.
darüber kommen noch andere Steuerzeichen.

von Rufus T. Firefly (Gast)


Lesenswert?

Die Erklärung von Simon ist nicht ganz korrekt. Zwar verwendet Windows
(genauer: die ernstgemeinten* Varianten davon) intern eine
16-Bit-Zeichenbelegung namens Unicode, das hat aber mit der Eingabe von
Zeichencodes über den Zehnerblock nichts zu tun.

Die führende 0 schaltet zwischen zwei unterschiedlichen
8-Bit-Zeichenbelegungstabellen um, dem alten IBM-PC-Zeichensatz
(Codepage 437 resp. 850) und dem windowseigenen ANSI-Zeichensatz
(Codepage 1252, auch Latin1 genannt).

Diese beiden 8-Bit-Zeichensätze unterscheiden sich nur bei der Belegung
der Zeichencodes > 127, also bei Umlauten und ähnlichen Sonderzeichen,
Für die Eingabe von ASCII-Zeichen ist es also völlig irrelevant, ob
eine Null vorangestellt wird oder nicht; ASCII beschreibt die ersten
128 Zeichen sowohl des IBM-, als auch des ANSI-Zeichensatzes.

Bei der Eingabe mit Alt+Zehnerblock wird bei Eingabe ohne führende Null
der IBM-PC-Zeichensatz verwendet, bei Eingabe mit führender Null wird
der ANSI-Zeichensatz verwendet.

Beispiel:

Alt+220 ergibt ein Blockgraphikzeichen (Klotz unten)
Alt+0200 ergibt ein großes Ü
Alt+214 ergibt ein großes I mit Akzent (das ersetzt in Codepage 850
eines der Rahmengraphikzeichen)
Alt+0214 ergibt ein großes Ö
Alt+225 ergibt ein ß (sz)
Alt+0225 ergibt ein kleines a mit Akzent

EOT (0x04) kann wahlweise so eingegeben werden:
Alt+4
Alt+04
Ctrl+D

Nochmal zum Mitmeisseln:
Ctrl+D funktioniert in Hyperterminal.

Probleme bereitet allerdings die Eingabe der folgenden Steuercodes
  NUL  Ctrl+@ (0, 0x00)
  ESC  Ctrl+[ (27, 0x1b)
  FS   Ctrl+\ (28, 0x1c)
  GS   Ctrl+] (29, 0x1d)
  RS   Ctrl+^ (30, 0x1e)
  US   Ctrl+_ (31, 0x1f)

von Tobi (Gast)


Lesenswert?

[eigenwerbung]
http://www.der-hammer.info/terminal/index.htm

damit kannst du problemlos und ohne verrenkungen auch den ascii code 4
senden. einfach das eingabeformat auf dezimal oder hex stellen, 4
eingeben und einter drücken.

von Rufus T. Firefly (Gast)


Lesenswert?

Nachtrag:
Mir ist doch glatt die Fußnote unter den Teppich gerutscht.

*) Windows NT ab Version 3.1. Das schließt Windows 2000 (NT 5.0),
Windows XP (NT 5.1) und Windows 2003 (NT 5.2) ein, aber das
Gekröse-In-Software namens Windows 95 und all' seine Aufgüsse aus (98
& Me).

von Sebastian H. (sebastian112)


Lesenswert?

Tobi, das Programm ist spitze!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mehr als 5 Jahre nach dem letzten Beitrag, nicht schlecht.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.