Forum: PC-Programmierung HEX per Batch an ein Gerät schicken


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Tom (Gast)


Lesenswert?

Hallo,

ich möchte mit einer Batch per Com3 ein HEX 6d 6f 76 65 20 2d 35 36 31 
37 0a an ein Gerät schicken.


Hier mal ein paar Details:


Port: Com3

Baudrate: 9600

Databits: 8

Stopbits: 1 Stop bit

Parity: No

Flow control: No


HEX 6d 6f 76 65 20 2d 35 36 31 37 0a



Habe es hiermit probier... Es geht aber leider nicht.

In der CMD:
MODE COM3:9600,N,8,1,P
COPY 1.HEX COM3


Ich hoffe ihr habt eine Idee / Vorschlag

Gruß Tom

von Schlaumaier (Gast)


Lesenswert?

Versuch den Type Befehl.

Copy ist ein File-Befehl.  Type sendet nur.

type  hex.txt >com1:

Befehl - Datei - Umlenkungszeichen ( > )- Ziel  (hier 
com-1-Schnittstelle).

Type ohne Umlenkung zeigt es auf den Display an.


Problem ist.  Umlenkungen haben KEINE Rückmeldung. Was bedeutet , die 
Gegenstelle verarbeitet es oder lässt es bleiben. Davon erfährt der Type 
Befehl NIX.

2. Problem. Er sendet ALLES Seriell. Also auch den größten Mist.

von Schlaumaier (Gast)


Lesenswert?

Hinweis : Es kann zu "Datei nicht gefunden kommen" wenn im Pfad ein 
Leerzeichen ist. In den Falle den ganzen Pfad + Datei in 
Anführungsstriche setzen.

Type "c:\test 1\hex.bin" > com1:

von Manfred (Gast)


Lesenswert?

Tom schrieb:
> COPY 1.HEX COM3

copy /?

Versuche mal mit /B zu senden.

Wurde die Datei 1.HEX mit einem Texteditor erstellt und ist evtl Unicode 
oder ist sie 'sauber' mit einem Hexeditor gemacht?

-------

Schlaumaier schrieb:
> Hinweis :

Lerne Lesen.

von beo bachta (Gast)


Lesenswert?

Tom schrieb:
> Ich hoffe ihr habt eine Idee / Vorschlag

Deinen unklaren Angaben zufolge nehme ich an dass du die
Daten nicht hexadezimal sondern binär senden willst.

Dazu solltest du die Daten mit einem geeignetet Editor
als Bytefolge in eine Datei schreiben, nicht als "Hex-Folge".

von Schlaumaier (Gast)


Lesenswert?

Manfred schrieb:
> Schlaumaier schrieb:
>> Hinweis :
>
> Lerne Lesen.

Und wieso.

Meine Antwort ist völlig richtig.  Ein Gerät wartet auf Daten, der PC 
sendet. Der Type Befehl macht genau da. Er sendet. Ohne wenn und aber.

Ich habe mit dieser Technik von fast 40 Jahren um Papier zu sparen meine 
Probe-Ausdrucke an das Terminal-Prg. auf meinen Amiga gesendet.

Es funktioniert einwandfrei.

Und der TYPE-Befehl ist auch in Win-10 noch drin.

Wenn also das "Gerät" des TO keine Rückmeldungen gibt, ist der 
Copy-Befehl egal welche Parameter NICHT FUNKTIONSFÄHIG. Weil Copy 
erwartet eine Antwort.

Also labere nicht.

von Georg (Gast)


Lesenswert?

Schlaumaier schrieb:
> Weil Copy
> erwartet eine Antwort.

Völliger Quatsch - ein typischer Schlaumaier eben.

Georg

von Schlaumaier (Gast)


Lesenswert?

Georg schrieb:
> Völliger Quatsch - ein typischer Schlaumaier eben.
>
> Georg

Is klar.  Wieso gibt es die Meldung "Fehler beim kopieren". Und nicht 
Fehler beim TYPE-Befehl".

Antwort : Weil der Copy-Befehl eine Rückmeldung der Gegenstadtion 
erwartet. Der Type Befehl nicht.

Aber vielleicht kann der TO ja mal sagen was funktioniert hat.

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Hallo, ich hab einiges probiert aber noch tut sich nichts.
Ich denke es hängt mit der Hex datei zusammen. Habe Sie mit Note 
erstellt(ist im Anhang).

Type Test:
type 1.hex >com3:

Copy /b Test:
MODE COM3:19,n,8,1
copy 1.hex \\.\com3 /b


Mit Serial Port Monitor geht es nach wie vor. Da es etwas umständlich 
ist möchte ich gerne die Batch-Datei erstellen. Damit es mit einem Klick 
geht.


Anhang:
- a.txt Meine Test Hex
- b.txt Meine Test Hex
- Screenshot von Serial Port Monitor (Von Eltima).png"

Gruß Tom

von mb (Gast)


Lesenswert?

Hallo

Portmon sendet vermutlich die zu den Hex-Werten passenden Bytes, Type 
und Copy die Buchstaben und Zahlen als Text. In der Datei müssten dann 
Byte-Werte stehen.

von Georg (Gast)


Lesenswert?

Tom schrieb:
> Ich denke es hängt mit der Hex datei zusammen. Habe Sie mit Note
> erstellt(ist im Anhang).

Das ist keine Hex-Datei, sondern eine Textdatei. Eine Hex-Datei enthält 
nicht die Zeichen 6 und d, sondern ein(!) Byte 6d. Das geht nicht mit 
einem Texteditor (warum heisst der wohl so?).

Georg

von Tom (Gast)


Lesenswert?

Georg schrieb:
> Das ist keine Hex-Datei, sondern eine Textdatei. Eine Hex-Datei enthält
> nicht die Zeichen 6 und d, sondern ein(!) Byte 6d. Das geht nicht mit
> einem Texteditor (warum heisst der wohl so?).

Hast du eine Empfehlung für einen einfachen Hex-editor?

von never ever (Gast)


Lesenswert?

HxD

oder einer der anderen hundert die google ausspukt wenn man fragt

von Schlaumaier (Gast)


Lesenswert?

never ever schrieb:
> HxD

Den nutze ich auch. Hier mal ein Link dazu.

https://mh-nexus.de/de/hxd/

Aber davon mal abgesehen, müsste ich Serial-Monitor trotzdem die Datei 
(als Text halt dann) auftauchen.

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

never ever schrieb:
> HxD
>
> oder einer der anderen hundert die google ausspukt wenn man fragt

Ist das so richtig?


copy aa.hex \\.\com3 /b
Das Zeitlimit für die Semaphore wurde erreicht.
        0 Datei(en) kopiert.

und

type aa.hex >com3:
Das System kann nicht auf das angegebene Gerät schreiben.
Das System kann nicht auf das angegebene Gerät schreiben.
Das System kann nicht auf das angegebene Gerät schreiben.
Das System kann nicht auf das angegebene Gerät schreiben.

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Hier die aa.hex aus HxD

von Schlaumaier (Gast)


Lesenswert?

Wenn beides schief geht, würde ich die Schnittstelle mal selbst 
überprüfen.

Oder ob du eine Berechtigung hast, auf das Gerät zu schreiben.

von Tom (Gast)


Lesenswert?

Schlaumaier schrieb:
> Wenn beides schief geht, würde ich die Schnittstelle mal selbst
> überprüfen.
>
> Oder ob du eine Berechtigung hast, auf das Gerät zu schreiben.

Habe CMD als admin ausgeführt

von Tom (Gast)


Lesenswert?

MODE COM3:19,n,8,1

Status von Gerät COM3:
----------------------
    Baudrate:        19200
    Parität:         None
    Datenbits:       8
    Stoppbits:       1
    Timeout:       ON
    XON/XOFF:        OFF
    CTS-Handshaking: OFF
    DSR-Handshaking: OFF
    DSR-Prüfung:     OFF
    DTR-Signal:      ON
    RTS-Signal:      ON

von Schlaumaier (Gast)


Lesenswert?

Tom schrieb:
> Habe CMD als admin ausgeführt

Falsches Gerät.

Ich meinte das ZIEL.
Ist das bereit von dir Daten anzunehmen.

Und sind alle Einstellungen der COM-Schnittstelle die selbe wie am 
Gerät. ??

Diese beiden Dinge, sind für 99% aller Probleme verantwortlich.

von Schlaumaier (Gast)


Lesenswert?

Nachtrag: Prüfe im Gerätemanager ob es sich um ein echtes COM-Gerät 
handelt und nicht um ein Simulieren Anschluss.

Einfach gesagt, es muss unter COM-stehen.

Und schaue dir dann mal DA die Einstellungen an. Die haben meist ein 
Grund.

von Sebastian S. (amateur)


Lesenswert?

@Tom
Ich werde das Gefühl nicht los, als ob Du nicht kapiert hast, dass Deine 
Dateien - was auch immer Du damit bezwecken willst - keine "Hex"-Dateien 
sind.
Es sind, wie bei einem Editor nicht anders zu erwarten, Textdateien.
In der ersten Datei (a.txt) steht, wenn ich mal ASCII unterstelle 
(Vertikal):
ASC  Hex   Bin       Dez
'6'  0x36  00110110b  54d
'd'  0x64  01101000b 100d
' '  0x20  00100000b  32d
'6'  0x36  00110110b  54d
'f'  0x66  01100110b 102d
...
' '  0x20  00100000b  32d
'3'  0x33  00110011b  51d
'7'  0x37  00110111b  55d
' '  0x20  00100000b  32d
'0'  0x30  00110000b  48d
'a'  0x61  01100001b  97d
Das sieht zwar interessant aus, ist aber für'n A****

von Schlaumaier (Gast)


Lesenswert?

Sebastian S. schrieb:
> @Tom
> Ich werde das Gefühl nicht los, als ob Du nicht kapiert hast, dass Deine
> Dateien - was auch immer Du damit bezwecken willst - keine "Hex"-Dateien
> sind.

Naja, eigentlich hat er 2 Probleme.

1 Problem : Das Gerät redet nicht mit ihm.
2 Problem : Es ist nicht sichergestellt ob die Datei die er übertragen 
will, echtes HEX braucht (Oder nur eine Textdatei ist). Der Unterschied 
@TO ist, das in einer HEX-Datei ALLE Zeichen also auch seltsame 
Sonderzeichen drin sind. Die sind so verwusselt wie ein echtes Programm. 
i.d.R. sind es meist Firmware-Dateien oder Software (exe Datei).

Also so was  was z.b. die Arduino-IDE erzeugt und was dann auf das Gerät 
übertragen wird.

Aber wie auch immer, du hast 2 Probleme halt.


Wenn du aber, was ich vermute eine Einstellung übertragen willst (Die 
kann in selten Fällen auch mal purer Text sein) musst du immer noch das 
Problem der Kommunikation lösen.

Der Com-Port ist nicht so einfach.

Tom schrieb:
> Status von Gerät COM3:
> ----------------------
>     Baudrate:        19200
>     Parität:         None
>     Datenbits:       8
>     Stoppbits:       1
>     Timeout:       ON
>     XON/XOFF:        OFF
>     CTS-Handshaking: OFF
>     DSR-Handshaking: OFF
>     DSR-Prüfung:     OFF
>     DTR-Signal:      ON
>     RTS-Signal:      ON


Feine Angaben, aber sind das auch die selben wie das ZIEL-Gerät. ??

Die müssen nämlich gleich sein, und zwar ALLE.

Ich würde als erstes die Baudrate auf 9600 senken. Das macht die 
Verbindung langsamer aber sicherer. Bei mein Arduino habe ich die auch 
so niedrig. Warte ich halt nen paar Sekunden aber dafür habe ich nie 
Stress mit der Übertragung bei meinen clonen.

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Schlaumaier schrieb:
> Nachtrag: Prüfe im Gerätemanager ob es sich um ein echtes
> COM-Gerät
> handelt und nicht um ein Simulieren Anschluss.
>
> Einfach gesagt, es muss unter COM-stehen.
>
> Und schaue dir dann mal DA die Einstellungen an. Die haben meist ein
> Grund.

Das Gerät ist ein Drehteller der über USB am PC angeschlossen ist.
Im Geräte-Treiber Steht COM3 9600, 8Bits, Stopbits1

Mit den Daten habe ich den Serial Port Monitor gefüttert und bewegungen 
mitgeschrieben. Dabei habe ich herausgefunden das der Hex Wert "6d 6f 76 
65 20 2d 35 36 31 37 0a" die Bewegung macht was ich möchte.

Nun kann ich Serial Port Monitor starten und auf COM3 den Hex Wert "6d 
6f 76 65 20 2d 35 36 31 37 0a" schicken und der Drehteller bewegt sich.

Nun soll das nur noch in cmd funktionieren damit ich mir ein paar Batch 
machen kann für unterschiedliche bewegungen.

von Tom (Gast)


Lesenswert?

Schlaumaier schrieb:
> Ich würde als erstes die Baudrate auf 9600 senken. Das macht die
> Verbindung langsamer aber sicherer. Bei mein Arduino habe ich die auch
> so niedrig. Warte ich halt nen paar Sekunden aber dafür habe ich nie
> Stress mit der Übertragung bei meinen clonen.

Habe es auf 9600 gesenkt

Status von Gerät COM3:
----------------------
    Baudrate:        9600
    Parität:         None
    Datenbits:       8
    Stoppbits:       1
    Timeout:       ON
    XON/XOFF:        OFF
    CTS-Handshaking: OFF
    DSR-Handshaking: OFF
    DSR-Prüfung:     OFF
    DTR-Signal:      ON
    RTS-Signal:      ON

von Tom (Gast)


Lesenswert?

@HeX-Datei. Scheinbar bekomme ich das nicht hin. Ich weiß nicht warum.

Wäre nett wenn jemand mir eine Hex-Datei uploaden könnte mit dem Hex

6d 6f 76 65 20 2d 35 36 31 37 0a

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Hab es mit HTerm probiert. Da geht auch

von Schlaumaier (Gast)


Lesenswert?

Dann schau dir mal in Hterm die grünen Lämpchen an ;)

die sind so wie ich das erkenne alle aus

Wenn also die Befehle mit Hterm funktionieren ist das der Grund nr. 1.

von Jens M. (schuchkleisser)


Lesenswert?

Hat eigentlich einer bemerkt, das
1
6d 6f 76 65 20 2d 35 36 31 37 0a
eigentlich
1
move -5617
 (plus ein LF) in Textform bedeutet?

: Bearbeitet durch User
von Schlaumaier (Gast)


Lesenswert?

Jens M. schrieb:
> Hat eigentlich einer bemerkt, das

Ja, schon vor ganz laaannnngggerr Zeit.

Und wieso kann das Teil ein Befehl nicht in TEXT-FORM bekommen. ?? Das 
mache ich dauernd bei meinen kleinen Arduino-Spielereien.

Es geht hier um eine Scheibe die gesagt bekommt drehe dich falschrum auf 
5617 oder halt im 5617 Schritte. Das Prg. in den Teilchen parsed den 
Text und macht was es soll.

Es muss nicht immer Hex-sein.  Weil Text-Zeichen sind ja irgendwie auch 
hex'ig ;)

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

Jens M. schrieb:
> Hat eigentlich JEMAND bemerkt, dasS
> 6d 6f 76 65 20 2d 35 36 31 37 0a
> eigentlich
> move -5617 (plus ein LF) in Textform bedeutet?

Das habe ich gesehen, als ich HxD bemüht habe.

Manfred schrieb:
> Wurde die Datei 1.HEX mit einem Texteditor erstellt und ist evtl Unicode
> oder ist sie 'sauber' mit einem Hexeditor gemacht?

Das macht auch Sinn, nachdem Tom seine Anwendung nachgereicht hat. 
Vermutlich muss er genau diesen Text senden, und zwar in Standard-ASCII.

von W.S. (Gast)


Lesenswert?

Tom schrieb:
> per Com3 ein HEX
> 6d 6f 76 65 20 2d 35 36 31 37 0a
> an ein Gerät

Also, kläre erstmal ab, was du da eigentlich schicken willst.
Zur Auswahl stehen:
- Intel Hex
- Motorola Hex
- beliebige andere Dateien (die DU als .hex titulierst)
- eine Textdatei mit einer Zeile "mov -5617 (lf)"

Dann sehen wir weiter.

W.S.

von Tom (Gast)


Lesenswert?

Habe ASCII gestest leider nicht.

Es geht nur mit Hex.


Welches Hex Format? Gute Frage.

Bisher kann ich nur sagen..
Es geht mit HTerm und Serial Port Monitor und nur als HEX

Ich würde alles an Hex Formaten gerne nehmen und probieren.

Bin auch für jede andere Umsetzung dankbar.
Ziel es am ende per Datei-klick (zB Batchdatei) ein bewegung auslösen.

von Manfred (Gast)


Lesenswert?

Tom schrieb:
> Habe ASCII gestest leider nicht.
> Es geht nur mit Hex.
> Welches Hex Format? Gute Frage.
> Bisher kann ich nur sagen..
> Es geht mit HTerm und Serial Port Monitor und nur als HEX

Besitzt Du einen zweiten PC?

Ich hatte ein ähnliches Problem, der Lieferant wollte sein Protokoll 
nicht offenlegen. Ich habe ein Kabel mit vier SubD gelötet, Rx und Tx 
auf einen zweiten PC mit zwei COM ausgeleitet und mir mit dem zweiten PC 
den Datenverkehr angeschaut.

Dazu mal bei https://www.shamrock.de/freeware/ gucken, ich glaube, 
ShamCom war es, was beide Richtungen in einem Fenster darstellen kann.

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?

Geh doch mal unter Ausführen und rufe den Taschenrechner
CALC auf. Stelle den Modus auf Programmierer und gib die
einzelnen Zeichen in Hex ein.
Dann siehst du auch gleich die 11 Werte in Dezimal :
6d  6f  76  65  20 2d 35 36 31 37 0a
= dezimal :
109 111 118 101 32 45 53 54 49 55 10

Das ist was anderes als in ANSI das "move -5617"
zu senden.
Die Gegenstelle kann ja kein ANSI lesen bzw.
verstehen. HTherm u. a. wandeln das halt
automatisch um. Deshalb funktioniert das auch.

Am besten würde das mit einem kleinen Basic- Programm
oder C - Programm o. ä. gehen, das man in einer
Batch-Datei aufruft. Damit hat man das Problem
umgangen, dass mit einer Datei auch nicht gewünschte
Zeichen wie Blank, Komma oder EOF-Zeichen mitgeschickt
werden.

: Bearbeitet durch User
von Jens M. (schuchkleisser)


Lesenswert?

Tom schrieb:
> Habe ASCII gestest leider nicht.
>
> Es geht nur mit Hex.

Quatsch.
Ob du nun die Bytes "6d 6f 76 65" oder den Text "move" schickst ist am 
anderen Ende identisch, dein Problem ist das senden an sich.
Und "move" und eine Zahl nach Wahl ist für dich einfacher zu erzeugen 
als für jeden gewünschten Winkel eine Datei abzuspeichern.

Schau mal unter https://batchloaf.wordpress.com/serialsend/
Das könnte sein was du brauchst...

von Tom (Gast)


Lesenswert?

Toller Lösungsansatz! Es geht fast. Ich denke da muss am Ende nur noch 
ein "0a" mit übertragen werden.
Aber erst mal was ich getestet habe...

- Test mit "move -3745."

C:\>SerialSend.exe /devnum 3 /baudrate 9600 "move -3745."
SerialSend (last updated 8-4-2015)
See http://batchloaf.com for more information
Device number 3 specified
9600 baud specified
Searching serial ports...
Trying COM3...OK
Sending text...
11 bytes written to \\.\COM3
Closing serial port...OK


Log aus Serial Monitor:
1504 11/07/2021 13:31:23 IRP_MJ_WRITE DOWN  6d 6f 76 65 20 2d 33 37 34 
35 2e  move -3745. 11 11 COM3


- Test mit "move -3745"

C:\>SerialSend.exe /devnum 3 /baudrate 9600
SerialSend (last updated 8-4-2015)
See http://batchloaf.com for more information
Device number 3 specified
9600 baud specified
Searching serial ports...
Trying COM3...OK
Sending text...
10 bytes written to \\.\COM3
Closing serial port...OK

Log aus Serial Monitor:
1644 11/07/2021 13:36:15 IRP_MJ_WRITE DOWN  6d 6f 76 65 20 2d 33 37 34 
35  move -3745 10 10 COM3


Bei "move -3745."  kommt 6d 6f 76 65 20 2d 33 37 34 35 2e heraus
Bei "move -3745"   kommt 6d 6f 76 65 20 2d 33 37 34 35    heraus
Bei "move -3745 "  kommt 6d 6f 76 65 20 2d 33 37 34 35 20 heraus

Jedes Hex womit der Drehteller was anfangen kann endet immer auf "0a" 
zB "6d 6f 76 65 20 2d 33 37 34 35 0a" oder "6d 6f 76 65 20 2d 35 36 31 
37 0a"

Jetzt die warscheinlich dumme Frage... was gebe ich ein damit ich am 
Ende "0a" übertrage?

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?

Wenn du auf der Kommandozeile bist, probiere mal
ALT - Taste festhalten + 1 und 0 auf Nummernblock
schnell hintereinander. Es ist halt so, dass die
ersten 32 Zeichen der ASCII-Tabelle keine Entsprechung
in der ASNI-Tabelle haben und keine druckbaren Zeichen
sind. Da gibt es noch mehrere zwischendrin. Deswegen der
Trick mit der ALT-Taste und Nummernblock. Buchstaben und
Zahlen haben die gleiche Zahl (0-255)  -> z.B. Chr$(65) = A

65 - 90  -> Großbuchstaben
97 - 122 -> Kleinbuchstaben
48 - 57  -> Zahlen

Als Hobbyprogrammierer weiß man das.
Hast du früher in MS-DOS nicht mit den Blockgrafikzeichen
gespielt. Viele MS-DOS Spiele benutzten diese auch gerne.

: Bearbeitet durch User
von Jens M. (schuchkleisser)


Lesenswert?

Tom schrieb:
> Ich denke da muss am Ende nur noch
> ein "0a" mit übertragen werden.

Logisch.
Und wer die Dokumentation gelesen hätte, wüsste das man mit der Option 
/hex die Möglichkeit einschaltet, Pseudotexte wie \r oder \n als CR bzw. 
LF zu senden.
Protip: 0a ist LF, also \n

Um's dir leicht zu machen:
1
SerialSend.exe /devnum 3 /baudrate 9600 /hex "move -3745\n"
sollte tun was du brauchst.

von Schlaumaier (Gast)


Lesenswert?

Und wenn es das nicht tut, dann überprüfe mal

 DTR-Signal:      ON
 RTS-Signal:      ON

In deine Software sind die nämlich auf OFF (die 4 grünen Punkte oben).

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

--
Neuer Test mit HyperTerminal

Einstellungen: COM3  9600 Databits 8 Stoppbits 1
und dann "Sent Txt File" aa.hex öffnen

Das Funktioniert und der Drehteller bewegt sich.

--

C:\>SerialSend.exe /baudrate 9600 /devnum 3 /hex 
"\x6d\x6f\x76\x65\x20\x2d\x35\x36\x31\x37\x0a"
SerialSend (last updated 8-4-2015)
See http://batchloaf.com for more information
9600 baud specified
Device number 3 specified
Searching serial ports...
Trying COM3...OK
Sending text...
11 bytes written to \\.\COM3
Closing serial port...OK

Log aus Serial Monitor:
IRP_MJ_WRITE DOWN  6d 6f 76 65 20 2d 33 37 34 35 0a  move -3745. 11 11 
COM3

Soweit ist das übertragene Kommando richtig und hier im Log nicht vom 
Orig. zu unterscheiden, aber leider passiert nichts

--
SerialSend.exe /devnum 3 /baudrate 9600 /hex "move -3745\n"
SerialSend (last updated 8-4-2015)
See http://batchloaf.com for more information
Device number 3 specified
9600 baud specified
Searching serial ports...
Trying COM3...OK
Sending text...
11 bytes written to \\.\COM3
Closing serial port...OK

Log aus Serial Monitor:
IRP_MJ_WRITE DOWN  6d 6f 76 65 20 2d 33 37 34 35 0a  move -3745. 11 11 
COM3

Soweit ist das übertragene Kommando richtig und hier im Log nicht vom 
Orig. zu unterscheiden, aber leider passiert nichts


--Das sind momentan die COM Einstellungen:
MODE COM3

Status von Gerät COM3:
----------------------
    Baudrate:        9600
    Parität:         None
    Datenbits:       8
    Stoppbits:       1
    Timeout:       ON
    XON/XOFF:        OFF
    CTS-Handshaking: OFF
    DSR-Handshaking: OFF
    DSR-Prüfung:     OFF
    DTR-Signal:      ON
    RTS-Signal:      ON

--
Der Aktuelle Stand ist:
-Hex übertragen mit Serial Port Monitor. Geht
-Hex übertragen mit Serial Port Monitor. Geht aber nur wenn DTR an ist.
-Hex-datei mit "Sent Txt File" mit HyperTerminal. Geht


SerialSend.exe /baudrate 9600 /devnum 3 /hex 
"\x6d\x6f\x76\x65\x20\x2d\x35\x36\x31\x37\x0a"
und
SerialSend.exe /devnum 3 /baudrate 9600 /hex "move -3745\n"
beide Übertragen laut dem Log von Serial Port Monitor korrekt das Hex 
Kommando. Trotzdem dreht sich nichts.

Woran könnte es noch liegen?

von Jens M. (schuchkleisser)


Lesenswert?

Tja, machste Textmodus im Terminal an und kuckste Rückmeldung.
Im Screenshot oben sehe ich Status running, Status stopped und Error.
Vielleicht bekommst du jetzt Fehler (Kommando falsch) oder gar nix 
(Verbindung steht nicht richtig).

Wie machst du das eigentlich, das du 2 Anwendungen gleichzeitig auf 
einen COM zugreifen lässt?

von Tom (Gast)


Lesenswert?

Jens M. schrieb:
> Wie machst du das eigentlich, das du 2 Anwendungen gleichzeitig auf
> einen COM zugreifen lässt?

Mit Serial Port Monitor kannst du Mithören

von Jens M. (schuchkleisser)


Lesenswert?

Möglicherweise macht Serialsend die Schnittstelle zu schnell wieder zu.
Es gibt ein Kommando das den Vorgang verzögert.

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]
  • [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.

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