Forum: Mikrocontroller und Digitale Elektronik befehlszeichen senden


von Baur (Gast)


Lesenswert?

hallo


habe mal wieder ein problem.
habe eine zeichen folge "<STX>FFHD4<EOT>" und würde gerne wissen wie ich 
das über mein com port bekomme auf mein controller.

welches programm bietet sich dfür am besten an


dbaur

von baba (Gast)


Lesenswert?

Hyperterm ?  Beachte STX=02hex und EOT=04hex

b.

von johnny.m (Gast)


Lesenswert?


von Baur (Gast)


Lesenswert?

ok dankeschön

welcehs protokoll soll man da nehmen?

kenne mich leider mit Herm absolut noch nicht aus.

von Karl H. (kbuchegg)


Lesenswert?

> welcehs protokoll soll man da nehmen?

gar keines. Stink normale Textübertragung.

Bei den meisten Terminalprogrammen ist es so, dass
man diese Sonderzeichen mit 'Strg' erzeugen kann.

> Beachte STX=02hex und EOT=04hex

02 hex
Der 2.te Buchstabe im Alphabet ist 'B'
Strg-B  sollte in so einem Fall eine 02 hex über
die Leitung jagen.

Ditto für 04 hex
Der 4.te Buchstabe ist 'D'
Strg-D schickt dann folgerichtig 04 hex

Das dazwischen ist normaler Text, ist also kein Problem.



von Baur (Gast)


Lesenswert?

also jetzt nochmal für ganz dumme (wie mich)


ich offne HTerm wähle das erste symbol.
wähle mein port und bitrate.
verbindung hergestellt

klcike dann auf senden einer text datei und suche mir meine
textdatei aus in der ich das hier stehen habe: 02FFHD404
dann klicke ich auf senden


und in meinem fall geht da nichts auser eine zeitüberschreitung


dbaur

von johnny.m (Gast)


Lesenswert?

Du musst natürlich im Terminal-Programm dieselben Übertragungsparameter 
einstellen wie im Controller (Baudrate, Datenbreite, Parity, Stoppbits). 
Sonst ist die Wahrscheinlichkeit sehr groß, dass nichts bzw. nur Müll 
rauskommt.

von Baur (Gast)


Lesenswert?

ja die einstellungen passen.


haben die symbole jeweils eine andere bedeutung oder andere 
eigenschaften

von Christian R. (supachris)


Lesenswert?

Baur wrote:
> also jetzt nochmal für ganz dumme (wie mich)
>
>
> ich offne HTerm wähle das erste symbol.
> wähle mein port und bitrate.
> verbindung hergestellt
>
> klcike dann auf senden einer text datei und suche mir meine
> textdatei aus in der ich das hier stehen habe: 02FFHD404
> dann klicke ich auf senden

Dann sendet er aber genau das, was in der Text-Datei drin steht. Und 
zwar in ASCII. Wenn dann müsstest du eine Binärdatei erstellen.

von Baur (Gast)


Lesenswert?

ook danke
hab das soweit verstanden


kann ich dann auch gleich die antwort lesen?

von Karl H. (kbuchegg)


Lesenswert?

Baur wrote:
> klcike dann auf senden einer text datei und suche mir meine
> textdatei aus in der ich das hier stehen habe: 02FFHD404
> dann klicke ich auf senden

Nein.
Denn dann sendet er
0 2 F F H D 4 0 4

Du möchtest aber anstelle der ersten beiden Zeichen (die 0 2)
das Zeichen, dessen ASCII Code 02 ist. Das ist kein darstellbares
Zeichen. In manchen Editoren kann man solche Zeichen über
irgendwelche Sonderfunnktionalität eingeben. Aber auf der
Tastatur hast du direkt keine Taste, die einen Code von 02
erzeugt.

Selbiges ganz hinten. Du willst nicht, dass nacheinander die
Zeichen 0 und 4 gesendet werden. Du willst das Zeichen mit
dem Code 04 senden. Auch das ist ein nicht darstellbares Zeichen
und es hängt von deinem Editor ab, ob du das eingeben kannst
oder nicht.


>
>
> und in meinem fall geht da nichts auser eine zeitüberschreitung

Das glaub ich.
Die Gegenstelle wartet auf das Zeichen mit dem Code 04. Das
kommt aber nicht. Also wartet die Gegenstelle und wartet und
wartet. (EOT bedeutet: End of Text)

von Baur (Gast)


Lesenswert?

ok danke herr buchegger

hab das dank ihnen gut verstanden
könnten sie mir dann noch sagen wie ich diese zeichen <STX> und <EOT> am 
besten eingebe.
ich habe nur von windows den editor.

von Karl H. (kbuchegg)


Lesenswert?

Nur mit Bordmitteln von Windows:

mach eine DOS-Box auf. (Start-Programme-Zubehör Eingabeaufforderung)

Da geht jetzt ein Fenster mit schwarzem Hintergrund auf.
In der Command Line tippst du ein:

cd \
edit myfile.txt

jetzt kommt ein Editor hoch. Der hat einen blauen Hintergrund.
Weiter: Um das 02 zu erzeugen
Alt-gr drücken und gedrückt halten.
Auf der Zehnertastatur tippst du: 002
Die führenden 0 sind wichtig! Es müssen genau 3 Tastendrücke sein.
Im Editorfenster müsste sich ein Smily-Zeichen zeigen
Damit hast du das 02 drinnen, jetzt tippst du ganz
normal weiter:
FFHD4
Und das Sonderzeichen 04
Wieder AltGr drücken und gedrückt halten. Auf der Zehnertastatur
004 tippen. Diesmal gibt es an der Anzeige kein Sonderzeichen.
Aber der Cursor geht um 1 Stelle nach rechts.

Das wars: Datei speichern und raus aus dem Editor.
(Die Maus funktioniert da nicht. Um das Menü vom Editor zu
öffnen drückst du Alt und den Buchstaben des Menüs der weiß
hervorgehoben wird)

Die Datei heist myfile.txt und ist auf c:\
Das sollte es dann eigentlich gewesen sein.

von Karl H. (kbuchegg)


Angehängte Dateien:

Lesenswert?

Warte mal.
Das klappt nicht.
Die 02 sind korrekt im File. Aber das 04 hat sich
der Editor für sich geholt.


Hier hast du eine Datei, die korrekt ist.
Software Entwickler haben so manches Sonderwerkzeug
in Petto. Du brauchst einen HEX-Editor zum editerien.
Damit hast du volle Kontrolle über eine Datei.
HEX-Editoren kriegst du im Web. Gibts wie Sand am Meer.

von Karl H. (kbuchegg)


Lesenswert?

Habs grade probiert.
Du kannst diese Datei jetzt auch mit Notepad
editieren. Da siehst du auch am Anfang und am Ende
seltsame Sonderzeichen. Das sind die 02 und 04 Zeichen.
Notepad lässt sie in Ruhe und speichert sie auch wieder.

Nur für den Fall, dass du das FHD4 mal ändern musst.

von Baur (Gast)


Lesenswert?

also


erstmal ein DICKES FETTES DANKESCHÖN für die hilfe.

das funktioniert alles prächtig. einfach der hammer der herr buchegger.

sollte nur noch wissen wie man die raute (04) schreibt


mfg dbaur

von Karl H. (kbuchegg)


Lesenswert?

Baur wrote:
> sollte nur noch wissen wie man die raute (04) schreibt

Mit Windows Bordmitteln: gar nicht.
Dazu brauchst du einen Hex-Editor.

Du solltest dir aber das (04) mit dem Notepad aus dem
einen File ausschneiden können und in einem anderen
File wieder einsetzen können.

von Baur (Gast)


Lesenswert?

ok

geht klar

wollte das nur zur sicherheit wissen fals mit da mal was schief läuft.


nochmals recht herzlichen dank

dbaur

von FBI (Gast)


Lesenswert?

... man könnte natürlich auch extra ein Proggi für schreiben :)

OK, Spass beiseite.
Es geht tatsächlich aber auch nur mit Windows Bordmitteln:

1) wie oben beschrieben eine DOS-Box öffnen und mit 'cd \' ins oberste 
Verzeichniss wechseln.
2) folgenden Befehl eintippen: 'copy con: myfile.txt'
3) Jetzt folgendes eintippen: '<Strg-B>FFHD4<Strg-D><Strg-Z><Enter>'
4) myfile.txt wie gehabt benutzen

Die Bedeutung der Tastenkombinationen <Strg-B> bzw. <Strg-D> wurden oben 
von   Karl heinz Buchegger ja schon erläutert. Die Tastenkombo <Strg-Z> 
mit direkt anschließendem <Enter> teilt dem copy-Befehl mit, dass jetzt 
nichts weiteres mehr kommt und der Vorgang abgeschlossen werden soll.

Alternativ kann man statt der Kombis mit Strg auch die ebenfalls weiter 
beschriebene Methode mit Alt und Ziffernblock benutzen (ja bai meinem 
WinXP ist es die linke Alt-Taste und nicht AltGr)

Ach so. Nicht wundern, was da während des Tippens auf dem Bildschirm 
erscheint. Sollte etwa so aussehen: '^BFFHD4^D^Z'.
Und die ' natürlich nicht mit eingetippen!

CU Frank

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
Noch kein Account? Hier anmelden.