Kennt jemand ein Tool mit dem ich quasi rohe Hexdaten senden kann? Mit einem Console Tool kann ich ja nur Zeichen schicken, wenn ich aber etwas wie 0x04 senden möchte - was nehme ich da? Oder ist selber schreiben am einfachsten?
Br@y Terminal, Hterm ... Selber schreiben geht auch -> http://www.hs-ulm.de/nocache/wir/Personal/PersonalSaSchr/vschilli/QtProjekte/
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 |
Yalu... nicht jeder, ich sage mal sogar der kleinste Teil, nutzt Linux.
Draco schrieb: > Yalu... nicht jeder, ich sage mal sogar der kleinste Teil, nutzt Linux. Etwas anders dürfte es auch in der Windows "Shell" gehen: echo BLABLA>COM1:
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.
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.
Es gibt sogar ne Abteilung im hiesigen Wiki: https://www.mikrocontroller.net/articles/RS-232#Terminalprogramme (allerdings ist es zugegebenermaßen nicht leicht die zu finden, selbst wenn man weiß daß sie existiert, das wiki ist leider (prinzipbedingt?) so chaotisch und unstrukturiert daß man nur zufällig über interessante Sachen stolpern kann)
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.
Draco schrieb: > Ich kann mich ja morgen mal ransetzen und ein ganz simples HEX > Terminalprogram schreiben, Wozu? (Es gibt doch schon genug, wenn man nicht gerade etwas für einen ganz speziellen Anwendungsfall optimiertes will) Die zwei erstgenannten schienen dem TE ja auch schon gut genug. TRJ schrieb: > Perfekt, habt Dank!
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.
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...)
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.
Und nicht nur Steuerzeichen, auch so Banalitäten wie > oder < können so nicht transportiert werden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.