PERL --> serielle Schnittstelle

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Linux_Beginner
Beiträge: 44
Registriert: 24.06.2004 13:52:26

PERL --> serielle Schnittstelle

Beitrag von Linux_Beginner » 03.02.2006 11:15:51

Hallo, wie habe ich mit PERL Zugriff auf die serielle Schnittstelle???

Es geht darum den Buchstaben "h" an /dev/ttyS0 zu schicken und die dann von der Schnittstelle empfangenen Daten auf der STandardkonsole auszugeben. Ist so etwas irgendwie möglich mit PERL???

(Brauche ich dafür überhaupt PERL oder geht mein Vorhaben auch mit einfachen Boardmitteln?)

DANKE sehr.

ToPeG
Beiträge: 437
Registriert: 14.04.2004 00:42:06

Beitrag von ToPeG » 03.02.2006 17:15:26

Du könntest es so versuchen:

Code: Alles auswählen

#!/usr/bin/perl

use strict;
use Device::SerialPort;

my $seriel = Device::SerialPort->new('/dev/ttyS0') || die "Kann /dev/ttyS0 nicht öffnen! ($!)\n";

$seriel->baudrate(9600);
$seriel->parity("none");
$seriel->databits(8);
$seriel->stopbits(1);

$seriel->write('h');

$|=1;
my $exit=0;
while($exit < 100000)
{
 my ($cin, $sin) = $seriel->read(1);
 if($cin)
 {
  print $sin;
  $exit=0;
 }
 else
 {$exit++}
}
print "\n";

exit(0);
Das ist nur ein schneller Hack, der sehr Prozessorlastig ist. Sicher ginge es noch eleganter. :-)

Linux_Beginner
Beiträge: 44
Registriert: 24.06.2004 13:52:26

Beitrag von Linux_Beginner » 03.02.2006 18:15:42

Leider meckert er über die Device::SerialPort - Zeile. Habe anscheinend das Modul noch nicht installiert. Wo bekomme ich es her???

Welche Version brauche ich? Reicht es wenn ich einfach die *.pm Datei in meinen Lib-Ordner werfe?

DANKE

ToPeG
Beiträge: 437
Registriert: 14.04.2004 00:42:06

Beitrag von ToPeG » 03.02.2006 19:13:13

Ein

Code: Alles auswählen

apt-get install libdevice-serialport-perl
müßte das Problem lösen.

Es werden die systemfuktionen dazu verwendet, sodaß es kein reines Perlmodul ist.

Du könntest es auch von "cpan.org" holen und selber kompilieren, aber über das Paketmenagement ist es besser.

Antworten