Tool zum senden vom Commands via Com Port

Moderator #4739648
Lesenswert?
• ▲
▼
TRJ schrieb:
> Mit einem Console Tool kann ich ja nur Zeichen schicken, wenn ich aber
> etwas wie 0x04 senden möchte - was nehme ich da?

Man muss nicht für jede Kleinigkeit ein spezielles Programm installieren
oder gar selber schreiben. Für einfache Probleme gibt es meistens auch
einfache Lösungen mit bestehenden Tools.

Der Echo-Befehl (sowohl der aus der Bash als auch der aus den Coreutils)
kann auch Strings mit den aus C bekannten Escape-Sequenzen ausgeben.

Beispiel:

1
echo -en "\x00\x01\x02\x03\x04\xff" >/dev/ttyS0

Für häufig wiederkehrende Bytefolgen kannst du Shell-Variablen
verwenden:

1
B1="\x0A\x0B\x0C\x0D\x0E\x0F"
2
B2="\xC0\xDE\xAF\xFE\xEB\xBE\xCA\xFE"
3
echo -en "$B1\xff\xff$B2" >/dev/ttyS0
4
# --> sendet 0A 0B 0C 0D 0E 0F FF FF C0 DE AF FE EB BE CA FE
Persönliche Seite #4739710
Lesenswert?
• ▲
▼
STK500-Besitzer schrieb:
> Etwas anders dürfte es auch in der Windows "Shell" gehen:

Sicher, aber das ist mit Steuerzeichen so nicht umsetzbar.

Die müssen mit einem geeigneten Editor in eine Datei geschrieben werden, 
die dann mit copy /b auf die Schnittstelle kopiert wird.

Arges Gefrickel.

Bei beiden Vorgehensweisen sieht man nicht die Reaktion des Gerätes, 
insofern ist so ein Schnittstellentester à la bray/hterm doch eindeutig 
zu bevorzugen, auch wenn es der Linux-Philosophie (mache alles mit der 
shell) widerspricht.
Moderator #4739733
Lesenswert?
• ▲
▼
Draco schrieb:
> Yalu... nicht jeder, ich sage mal sogar der kleinste Teil, nutzt Linux.

Das funktioniert auch unter Mac OS X, wenn man den Device-Namen der
Schnittstelle entsprechend ändert, und sogar unter Windows (wohlbemerkt
ohne MSYS, Cygwin und Konsorten), wenn man mit wenigen Klicks das
"Windows Subsystem for Linux" aktiviert, das offizieller Bestandteil der
neuesten Windows-Version ist:

  https://msdn.microsoft.com/commandline/wsl/about
  https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

Mein Vorschlag ist also mitnichten nur für Linux-User von Bedeutung.

Rufus Τ. F. schrieb:
> Bei beiden Vorgehensweisen sieht man nicht die Reaktion des Gerätes,
> insofern ist so ein Schnittstellentester à la bray/hterm doch eindeutig
> zu bevorzugen

Ja, das ist natürlich ein Argument für ein hex-fähiges Terminalprogramm.
Ich hatte allerdings nicht den Eindruck, dass der TE auch Daten von der
Schnittstelle empfangen möchte.
Gast #4739775
Lesenswert?
• ▲
▼
Ich kann mich ja morgen mal ransetzen und ein ganz simples HEX 
Terminalprogram schreiben, dürfte ja in zwei/drei Stunden umsetzbar 
sein. Ich selbst nutze immer HTERM - aber ich gebe da auch ganz offen 
zu. Das ist für ne Terminalausgabe / Umsetzung schon nen bissle Overkill 
mitunter. Genauso wie Putty.
Gast #4740137
Lesenswert?
• ▲
▼
STK500-Besitzer schrieb:
> Etwas anders dürfte es auch in der Windows "Shell" gehen:
> echo BLABLA>COM1:
Rufus Τ. F. schrieb:
> Sicher, aber das ist mit Steuerzeichen so nicht umsetzbar.
>
> Die müssen mit einem geeigneten Editor in eine Datei geschrieben werden,
> die dann mit copy /b auf die Schnittstelle kopiert wird.

Dir ist Alt+Ziffernblock bekannt?
Die Alt-Taste halten und am Ziffenblock dreistellig dezimal eingeben 
erzeugt jedes beliebige Zeichen.
Gast #4740176
Lesenswert?
• ▲
▼
Draco schrieb:
> Yalu... nicht jeder, ich sage mal sogar der kleinste Teil, nutzt Linux.

Und f. Alle Windowsknechte gibt's CygWin zum installieren: somit gelten 
solche Hinweise als universell, aka portabel.
(installieren ist ja die Lieblingstätigkeit mit Windows...)
Moderator #4740192
Lesenswert?
• ▲
▼
Manfred schrieb:
> Die Alt-Taste halten und am Ziffenblock dreistellig dezimal eingeben
> erzeugt jedes beliebige Zeichen.

Das schon, nur bringt das bei Steuerzeichen nicht viel, weil viele davon
(Backspace, Carriage Return, Tab usw.) bereits bei der Eingabe gesondert
interpretiert werden und damit nicht an Kommandos wie echo als Argument
übergeben werden können.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren