use Fcntl qw/:DEFAULT/; use IO::Termios (); use IO::Stty (); sysopen my $fh, '/dev/ttyUSB0', O_RDWR or die "sysopen: $!"; my $handle = IO::Termios->new($fh) or die "IO::Termios->new: $!"; $handle->set_mode('300,7,e,1'); IO::Stty::stty($handle, qw/ raw -parodd cs7 -cstopb parenb -ixoff -crtscts -hupcl -ixon -opost -onlcr -isig -icanon -iexten -echo -echoe -echoctl -echoke/); my $raw = "\x2F\x3F\x21\x0D\x0A"; $handle->syswrite($raw) == length($raw) or die "syswrite"; my $raw = "\x06\x30\x30\x30\x0D\x0A"; $handle->syswrite($raw) == length($raw) or die "syswrite"; for (1..300) { my $toread = 1; $handle->sysread(my $in, $toread) == $toread or die "sysread"; print $in; } $handle->close; #### /?! 000 /LOG4LK13BD202015