Thread Device::SerialPort <--> Win32::SerialPort (13 answers)
Opened by foobar12345 at 2017-07-09 14:03

foobar12345
 2017-07-09 17:50
#186814 #186814
User since
2011-07-20
20 Artikel
BenutzerIn
[default_avatar]
haa, leider nur fast ;(

irgendwie bleiben die write's in einem buffer hänger,
weil folgendes script sendet die beiden lines mit PAGE nicht wie
erwartet mit ca. 3sec pause, sondern erst wenn es sich beendet
wenn ich selber $port->close reinschreibe schickt er es natürlich
sofort raus, nur ist halt der port zu für den 2ten write-aufruf

sowas wie $port->flush() hab ich leider nicht gefunden

kann mir jemand sagen welches magische schnippelchen ich jetzt in der manpage
überlesen habe ???


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/env perl
use strict;
use warnings;
use Win32::SerialPort;

$|=1;

my $serDev = $ARGV[0] || 'COM3';
my $serSpeed = $ARGV[1] || 115200;
my $serDB = $ARGV[2] || 8;
my $serPA = $ARGV[3] || 'none';
my $serSB = $ARGV[4] || 1;

my $port = new Win32::SerialPort($serDev);
$port->databits($serDB);
$port->baudrate($serSpeed);
$port->parity($serPA);
$port->stopbits($serSB);
$port->write_settings || undef $port;

unless ($port) {
print "Serial port: $serDev not found, use\n\n";
print " $0 <device> <speed> <baud> <parity> <stopbits>\n\n";
print " $0 /dev/ttyACM0 115200 8 none 1\n\n";
exit;
}

$port->write("PAGE\n");
$port->lookclear;
sleep(3);
$port->write("PAGE\n");
$port->lookclear;
sleep(10);

View full thread Device::SerialPort <--> Win32::SerialPort