Thread RS232 Probleme
(14 answers)
Opened by Oliver at 2015-10-10 18:42
Zu Deinem eigentlichen Problem kann ich nicht viel beitragen.
Als ich mich - vor Jahren - mitDevice::SerialPort beschäftigt hatte, war die Ursache für meine Probleme, der unterschiedliche Zeilenumbruch. Ich musst auch unter Linux "\r\n" senden. Aber das scheint bei Dir nicht das Problem zu sein. Folgender Code ist aber garantiert falsch: Guest Oliver Wenn Du $antwort und $zeichen zurücksetzen willst, musst Du die my innerhalb der if-Schleife weglassen, denn die deklarieren neue Variablen, die lokal in der if-Schleife sind und die äußeren Variablen verdecken. Besser: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 my $antwort = ""; my $count = 0; while ($count<10000) { $count++; my $zeichen = $rs485_port->read(1); $antwort .= $zeichen; if ($zeichen eq ";") { print "$antwort\n"; $antwort = ""; } } $zeichen wird nur innerhalb eines Schleifendurchlaufs genutzt und sollte deshalb auch nur dort deklariert werden. |