Hola he tenido este problema desde hac unos dias y no lo he podido resolver si puediran ayudarme lo agradeceria
root@Julia:/# perl serial.pl
no puedo abrir /dev/ttyS0: Illegal seek at serial.pl line 17.
(in cleanup) Can't call method "opened" on an undefined value at /usr/lib/perl5/site_perl/5.8.0/i486-linux/Device/SerialPort.pm line 2020 during global destruction.
el programa que estoy utlizando es el siguiente:
#!/usr/bin/perl
use Device::SerialPort 0.12;
$LOGDIR = "/var/log";
$LOGFILE = "serial.log";
$PORT = "/dev/ttyS0";
$ob = Device::SerialPort -> new($PORT); die" no puedo abrir $PORT: $!";
$ob ->baudrate(9600) || die "no se pudo colocar baudrate";
$ob ->parity("none") || die "no se puedo colocar Parity";
$ob ->databits(8) || die "no se databits";
$ob ->handshake("none")|| die "no se pudo handshake";
$ob ->write_settings || die "no settings ";
#lectura de puerto serial
$pass = $ob->write("AT");
sleep 1;
open(LOG,">>$(LOGDIR)/$(LOGFILE)") || die "no se pudo smdr file $LOGDIR/$LOGFILE for append: $SUB $\n";
open(DEV,"<$PORT")|| "no se puede abrir el puerto $PORT: $_";
select (LOG), $| =1;
while($_=<DEV>){
print LOG $_;
}
undef $ob;
lo que necestio es leer el dato que entra por puerto serial ..y enviarlo a traves de un socket (no consigo leer el puerto serial)....el modulo Device::SerialPort esta instalado y la version de perl es la 5.8.0...