Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7199[/thread]

Ansteuerung von RS232

Leser: 1


<< >> 9 Einträge, 1 Seite
Gast Gast
 2005-08-10 11:55
#57091 #57091
Hallo alle,

ich möchte mit Perl eine RS232-Schnittstelle auslesen.

Zwar mache ich dies so:

open( PORT, "+>COM1" ) or die "COM1 konnte nicht geöffnet werden!";
my $datenauslesen = <PORT>;
print "$datenauslesen";
close (PORT);

So wollte ich jetzt einfach mal sehen welche Daten ich reinbekomme! Leider funktioniert es mir nicht. Außerdem wenn nichts angeschlossen ist an COM1 dann hängt der PC sich immer auf. Kann man dies verhindern?

Vielen Dank für Hilfe!!!

M.f.G.

Weman
renee
 2005-08-10 12:27
#57092 #57092
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Schau Dir mal CPAN:Device::SerialPort bzw. CPAN:Win32::SerialPort an!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Weman
 2005-08-10 13:28
#57093 #57093
User since
2005-08-10
17 Artikel
BenutzerIn
[default_avatar]
Hallo,

danke für den Tipp.

Kann ich dies einfach über ppm einbinden???

Weman
renee
 2005-08-10 14:04
#57094 #57094
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Es sind beide bei ActiveState als ppm vorhanden...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Strat
 2005-08-10 14:04
#57095 #57095
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ausprobieren hilft in so einem fall meistens schneller ;-)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
kristian
 2005-08-11 01:37
#57096 #57096
User since
2005-04-14
684 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo
> ausprobieren hilft in so einem fall meistens schneller ;-)
Du irrst.
Es ist gar nicht so einfach Daten vom ComPort zu lesen oder zu schreiben.
Die Hardware auf der Gegenseite kann manchnal recht störrisch sein.
Es empfielt sich auf jeden Fall die gängigen Module (je nach Platform) zu nutzen, es ist aber verwegen die Kommunikation mit unbekannter Hard/Software als easy zu sehen.
Manchmal muß man den Port systemseitig konfigurieren, oft hat man keine Angaben über die Schnittstelle,
Ein Spaß ist das NIE.
Gruß Kristian
J-jayz-Z
 2005-08-11 02:22
#57097 #57097
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Er meinte glaub ich, das es schneller geht, zu testen ob es bei ppm verfügbar ist
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
kristian
 2005-08-11 02:34
#57098 #57098
User since
2005-04-14
684 Artikel
BenutzerIn
[Homepage] [default_avatar]
Uuups, sorry
da habe ich wohl was falsch gelesen.
Indes, sowie er (OP) *das* Problem gelöst hat, gilt mein Beitrag wieder ohne Einschränkung.
Gruß Kristian
Weman
 2005-08-11 18:14
#57099 #57099
User since
2005-08-10
17 Artikel
BenutzerIn
[default_avatar]
Hallo,

danke für die Antworten.

Also, mit my $verbindung = open( PORT, "+>COM1" );

konnte ich jetzt die Verbindung öffnen und auch Daten für den Handle "Port" rauschicken.

Nur ich bekomme keine Daten zum PC rein. Entweder er läuft ewig oder das Script hängt sich einfach auf.

M.f.G.

Weman
<< >> 9 Einträge, 1 Seite



View all threads created 2005-08-10 11:55.