#!/usr/bin/perl use strict; use warnings; my $port = "/dev/ttyUSB0"; open (SERIALPORT, "+<", "$port") or die "can't open $port. "; print SERIALPORT chr(254); print SERIALPORT chr(27); my $result = getc(SERIALPORT); print ord($result) . "\n"; close (SERIALPORT); #### #!/usr/bin/perl use strict; use warnings; my $port = "/dev/ttyUSB0"; open (SERIALPORT, "+<", "$port") or die "can't open $port. "; select(SERIALPORT), $| = 1; print SERIALPORT chr(254); print SERIALPORT chr(27); my $result = getc(SERIALPORT); print ord($result) . "\n"; close (SERIALPORT); #### #!/usr/bin/perl use strict; use warnings; use Device::SerialPort; my $ob = Device::SerialPort->new("/dev/ttyUSB0") || 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->stopbits(1) || die "failed setting stopbits"; $ob->write_settings || die "failed writing settings"; my $cmd1 = chr(254); my $cmd2 = chr(27); $ob->write($cmd1); $ob->write($cmd2); open(LOG, ">>", "test2.txt") || die "can't open log file: $!"; open(DEV, "<", "/dev/ttyUSB0") || die "can't open prt: $_"; select(LOG), $| = 1; while($_ = ) { print LOG $_; } undef $ob; #### #!/usr/bin/perl -w use strict; use warnings; use Device::SerialPort; my $port = Device::SerialPort->new("/dev/ttyUSB0"); $port->databits(8); $port->baudrate(115200); $port->parity("none"); $port->stopbits(1); $port->handshake("on"); $port->write_settings; $port->write(chr(254)); $port->write(chr(27)); my $char = $port->lookfor(); if ($char) { print "$char"; }