Ja danke. CommPort und SerialPort waren i.O., der Fehler lag am Win32::API.
habs dann mit ppm nochmal installiert.
Nun scheint das Script soweit zu funktionieren. Allerdings bekomm ich keine Daten angezeigt?!
Hab hier mal das Testprogramm. Die Configurationen mit Baud,.. stimmen soweit, nur werd ich nich ganz schlau draus, wie die Daten da jetzt rausgelesen werden?
Wie gesagt, ist nur ein Testscript, also nich hauen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/perl -w
use strict;
use Win32::SerialPort;
my $serial = Win32::SerialPort->new('COM4' || die "Fehler!");
my $baud = $serial->baudrate;
my $parity = $serial->parity;
my $data = $serial->databits;
my $stop = $serial->stopbits;
my $hshake = $serial->handshake;
print "B = $baud, D = $data, S = $stop, P = $parity, H = $hshake\n";
$serial->baudrate(9600);
$serial->parity('none');
$serial->databits(8);
$serial->stopbits(1);
$serial->handshake("none");
#$serial->read_interval(100); # Zeit Zwischen einzelnen Zeichen, bei Überschreitung Abbruch
#$serial->read_const_time(10000); # Maximale Gesamtzeit zum Einlesen von Zeichen, dann Abbruch
# Send request
#$serial->write("n");
# Wait one second
#select(undef, undef, undef, 1);
# Read response
my($count, $datas) = $serial->read(100); # Entweder 100 Zeichen einlesen, oder Zeitaus
print "-> $datas";
undef $serial;