Thread Lesen von serieller Schnittstelle: Events unter Win nutzen (1 answers)
Opened by Hellmaker at 2005-09-23 13:23

kristian
 2005-09-24 13:35
#58379 #58379
User since
2005-04-14
684 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo
Versuchs mal mit:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
while(1){
$ca++;
($BlockingFlags,$InBytes,$OutBytes,$ErrorFlags) = $PortObj->status;
die "lost port\n" unless defined $ErrorFlags;
unless($InBytes){
last if($ca > 25);
select(undef,undef,undef,0.01);
next;
}
if($string_in = $PortObj->read($InBytes)){
# hat geklappt mach was
last;
}
}

Du darfst nicht erwarten dass die Hardware am Port so schnell ist, wie du sie gerne hättest. Daher die 25 Wiederholungen in dem Beispiel. mit select() wird hier gebremst. Das ist manchmal eine Geduldsprobe, bis man den Speed abgeglichen hat.
Gruß Kristian

View full thread Lesen von serieller Schnittstelle: Events unter Win nutzen