Hallo!
Ich hab ein kleines (momentan noch unkonkretes) Problem beim Mitschneiden von Daten des RS232 Ports.
Meine Aufgabe ist es, einfach die (vorerst aus einer BlackBox) ankommenden Daten in eine Datei zu schreiben.
Ich hab mir also ein X-Link für RS232 gebastelt und mal eine Datei nach /dev/ttyS0 kopiert und in einer anderen Konsole per cat /dev/ttyS1 anzeigen lassen / in eine andere Datei schreiben lassen.
Mit Textdateien funktioniert das fast einwandfrei - nur fügt er Zeichen für Zeilenumbrüche ein.
Dann habe ich mal versucht, die bzip2 Binary rüberzuschicken - und da bricht cat - also der Empfänger nach 7,2k ab - ist hier evt. irgendeine Grenze erreicht?
Mich würde erstmal das Warum interessieren.
Desweiteren bin ich für andere Vorschläge zur Aufgabe dankbar.
Daten von RS232 mitschreiben
Offenbar handelt es sich um das ASCII Zeichen Nummer 4 (dez) - EOT (End Of Transimssion), welches das Abbrechen der Verbindung bewirkt.
Getestet hab ich das mit
wobei das \x für hexadezimal steht und die 04 dann auch logischerweise im hex Format angegeben ist (unterscheidet sich hier nicht wirklich vom dezimalen - aber bei Zahlen größer 15 schon).
Mal sehen, ob die SPS (wie ich mittlerweile weiß) das Zeichen benutzt und ob man das nutzen kann.
Über weitere Ideen freu ich mich ...
Getestet hab ich das mit
Code: Select all
echo -e "\x04" > /dev/ttyS1
Mal sehen, ob die SPS (wie ich mittlerweile weiß) das Zeichen benutzt und ob man das nutzen kann.
Über weitere Ideen freu ich mich ...
Über stty kannst Du die Eigenschaften der seriellen Schnittstelle festlegen. Für einen "Veränder mir die Daten auf keinen Fall"-Modus gibt es da das Kürzel "raw": Auch die Geschwindigkeit lässt sich einstellen. "man stty" und "info stty" helfen weiter. Vielleicht ist auch "setserial" für Dich interessant.
Jochen
Code: Select all
stty -F /dev/ttyS0 raw
Jochen
Die grösste Lüge der EDV? "Mal eben..."