in reply to Re^3: How to send long sting Device::SerialPort
in thread How to send long sting Device::SerialPort

Well, I make some modifications into my script and now it is working. I use method with Tied FileHandles and that seems to have no problem with long strings. Below is the script. Next step will be to send continious string of data from one serial port to the different one. I will keep you posted. Robert

#!/usr/bin/perl use strict; use warnings; use Device::SerialPort; my $PORT = "/dev/ttyO1"; my $Config = "serial.cfg"; my $string = "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20"; my $ob = Device::SerialPort->new($PORT) || die "Can't Open $PORT: $!"; $ob->baudrate(115200) || die "failed setting baudrate"; $ob->parity("none") || die "failed setting parity"; $ob->databits(8) || die "failed setting databits"; $ob->handshake("none") || die "failed setting handshake"; $ob->write_settings || die "no settings"; $| = 1; $ob->write_settings; $ob->save("serial.cfg"); $ob = tie (*FH, 'Device::SerialPort', $Config) || die "Can't tie: $!\n"; ## TIEHANDLE ## print FH $string; close FH || warn "close failed"; undef $ob;

Replies are listed 'Best First'.
Re^5: How to send long sting Device::SerialPort
by oiskuu (Hermit) on Dec 09, 2013 at 11:32 UTC
    One more thing: you probably can replace the
    my $ob = Device::SerialPort->new($PORT) || die;
    With just the tie (eschewing the config file):
    my $ob = tie (*FH, 'Device::SerialPort', $PORT) || die;
    Untested though.