Forum: PC-Programmierung Problem mit RS232 Befehl per Batch Datei


von merdina (Gast)


Lesenswert?

Hallo,

ich habe folgendes Problem.

Ich möchte per Batch Datei einen RS232 Befehl verschicken.

Der Befehl ist folgender (alles Hex)
0x8C 0x00 0x00 0x02 0x01 0x8F

Ich habe folgendes probiert

mode com1 Baud=9600 Parity=N Data=8 Stop=1
echo Befehl > COM1

Anstelle des Befehl müssten nun die ASCII Zeichen meines Befehls
Das Funktioniert soweit (gedrückte Alt Taste und dann den Dez. Wert 
eingeben) für
0x8C = î
0x02 = ☻
0x01 = ☺
0x8F = Å

aber leider funktioniert es nicht für die 0x00

Eine Idee wie ich es hinbekomme das er mir eine Hex 00 verschickt.

Würde mich sehr freuen wenn mir jemand helfen kann.


merdina

von Peter II (Gast)


Lesenswert?

schreibe die daten doch mal in eine Datei. Und dann machst du.

type datei.dat > COM1

von merdina (Gast)


Lesenswert?

Das ist erst mal prima das es überhaupt funktioniert.

Aber das Problem bleibt das ich kein Zeichen hab was ich für die Hex 00 
eingeben kann.

von Peter II (Gast)


Lesenswert?

merdina schrieb:
> Aber das Problem bleibt das ich kein Zeichen hab was ich für die Hex 00
> eingeben kann.

du musst dafür natürlich einen hex editor nutzen.

von merdina (Gast)


Lesenswert?

na da hätte ich auch selbst drauf kommen können. Teste ich gleich morgen 
aus.

Schon mal super danke für die schnelle Hilfe.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Statt

  type datei.dat > COM1

sollte

  copy datei.dat /b COM1

verwendet werden, type nämlich hört bei manchen Steuerzeichen verfrüht 
auf.

von merdina (Gast)


Lesenswert?

Ich bin begeistert

es funktioniert prima

DANKE

von Peter II (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> copy datei.dat /b COM1
> verwendet werden, type nämlich hört bei manchen Steuerzeichen verfrüht
> auf.

das man copy ja im normalfall ohne /b auch für binary verwenden und es 
ja scheinbar geht, welche auswirkung hat das /b wirklich oder ist das 
nur dummy?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nein, copy hört ebenso wie type bei bestimmten Steuerzeichen in der 
Datei auf. Es ist für copy ein Unterschied, ob eine Datei als Datei 
kopiert wird oder ob der Inhalt einer Datei auf ein Device kopiert wird, 
und deswegen ist hier der Parameter /b wichtig.

von Peter II (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Es ist für copy ein Unterschied, ob eine Datei als Datei
> kopiert wird oder ob der Inhalt einer Datei auf ein Device kopiert wird,
> und deswegen ist hier der Parameter /b wichtig.

bist du das sicher? Ich glaube nicht das es eine sonderbehandlung für 
das Ziel gibt. Es ist beides ein Filehandle was auch gleich verwendet 
wird. Warum sollte hier jemand eine Sonderbehandlung einbauen?

von Peter II (Gast)


Lesenswert?

Nachtrag:

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds.mspx?mfr=true

Using /b
/b directs the command interpreter to read the number of bytes specified 
by the file size in the directory. /b is the default value for copy, 
unless copy combines files.

es gibt zwar noch einen Hinweis zum copy auf ein Device aber der default 
müsste /b sein.

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.