use Win32::SerialPort;
use strict;
use warnings;
$| = 1; #enable autoflush
my $PortName = "COM3";
my $sendData = "12345678";
### SERIAL PORT SETUP ###
my $PortObj = new Win32::SerialPort($PortName) or die "Can't open $Por
+tName: $^E\n";
$PortObj->error_msg(1); # prints hardware messages like "Framing Err
+or"
$PortObj->user_msg(1); # prints function messages like "Waiting fo
+r CTS"
$PortObj->baudrate(57600);
$PortObj->parity("none");
$PortObj->databits(8);
$PortObj->stopbits(1);
$PortObj->handshake("none");
$PortObj->write_settings or die "failed to write_settings";
my $count_out = $PortObj->write($sendData) or die "write failed: $^E";
sleep(3);
$PortObj->close() || warn "\nClose failed\n";
now i have the following error
"write failed:the handle is invalid at test2.pl line 23."
Other info : iam using Virtual serial port driver 7.2 by eltima software.
i use a tool called teraterm where i can send data on one port and receive on other port without any issues. but perl gives the problem :(
thanks for your prompt response.
jis |