PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl Geeks hier? (Bezüglich Win32::SerialPort)



M@tes
18.05.2008, 21:21
Hab das Perl endlich mal soweit bekommen, das ich keine @INC Fehler mehr bekomme.
Das Win32::SerialPort Modul läuft also! =D> Nur bekomm ich keine Daten raus?
Hab da Baud, Parität, Stopbits,... eingestellt aber nünt. Habt ihr da ev ein Codefetzen? Glaub eben, meines ist irgendwie nicht ganz i.O.
Hier mal der Testcode:


#!/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;

shaun
18.05.2008, 22:03
Das '|| die "Fehler"' gehört bestimmt nicht in den Aufruf des Konstruktors.
Also hinter 'COM4' erstmal die Klammer schliessen und dann die ODER-Verknüpfung. Wenn Du Deinen Code weiter mit der Doku zu Win32::SerialPort vergleichst, findest Du bestimmt noch mehr Vertippser ;)

M@tes
19.05.2008, 08:22
Das Problem is, das ich mit der Doku selber nicht viel anfangen kann.
Wenns ein fertiges funktionierendes Beispiel gäbe, dann kann man sich den Rest zusammenreimen, aber so..?
Wenns nicht läuft, hast kein Plan wo ansetzen. Ehrlichgesagt find ich die Perldocus generell fürn Arsch :-(
Aber immerhin hab ich gestern meine ersten kleinen Erfolge erzielt.
Hab schon einige Zeichen mit einem Beispielscript ausgeben können.