#!/usr/bin/perl use Win32::SerialPort; use Win32API::CommPort; use strict; my $InBytes=12; my $val=2147483647; #my $timeout=10; # create some widgets here our $buffer = ''; our $PortObj1 = Win32::SerialPort->new ('COM16',0) or die "Can't open serial port COM1: $^E\n"; $PortObj1->close or die "Can't close serial"; our $PortObj1 = Win32::SerialPort->new ('COM16',1) or die "Can't open serial port COM1: $^E\n"; $PortObj1->baudrate(57600) or die "fail setting baud rate"; $PortObj1->parity("none") or die "fail setting parity"; $PortObj1->databits(8) or die "fail setting databits"; $PortObj1->stopbits(1) or die "fail setting stopbits"; $PortObj1->handshake("none") or die "fail setting handshake"; my $flowcontrol = $PortObj1->handshake; $PortObj1->buffers(4096, 4096); # read, write print "$flowcontrol\n"; $PortObj1->write_settings or die "fail write settings"; sleep(1); my $count_out = $PortObj1->write("V\r\r") or die "write failed:$^E"; print "$count_out"; closePort($PortObj1); sub closePort($) { my ($serial) = @_; $serial->close(); }