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.
PERL --> serielle Schnittstelle
-
- Beiträge: 44
- Registriert: 24.06.2004 13:52:26
Du könntest es so versuchen:
Das ist nur ein schneller Hack, der sehr Prozessorlastig ist. Sicher ginge es noch eleganter.
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);
-
- Beiträge: 44
- Registriert: 24.06.2004 13:52:26
Ein 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.
Code: Alles auswählen
apt-get install libdevice-serialport-perl
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.