Leser: 25
QuoteWas bedeutet das genau? Gibt es irgendwelche Fehlermeldungen?Unter Windows habe ich das Problem, dass der COM-Port zwar gefunden wird, aber das LCD nicht richtig mit dem PC kommunizieren kann.
2011-03-28T16:41:46 kamiErst wenn ich das Skript am PC beende, kommt ein Bruchteil der Nachricht an und der COntroller zeigt diese an
1
2
3
4
5
6
7
8
my $port = Win32::SerialPort->new( "COM4" );
$port->baudrate(57600);
$port->databits(8);
$port->stopbits(1);
$port->parity("none");
$port->read_const_time(1000);
#$port->stty_clear("0");
$port->pulse_dtr_on(300);
2011-03-29T14:01:33 kamikeiner mehr einen Tipp?
2011-03-29T20:29:40 kamiWeil irgendwie klappt das ja super alles unter Unix udn MAC?
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 34
#!perl use strict; use warnings; use Win32::SerialPort; my $port = Win32::SerialPort->new( "COM4" ); $port->user_msg(1); # misc. warnings $port->error_msg(1); # hardware and data errors $port->baudrate(19200); $port->databits(8); $port->stopbits(1); $port->parity("none"); $port->read_const_time(1000); #$port->stty_clear("0"); $port->pulse_dtr_on(300); $port->write_settings; my $baud = $port->baudrate; my $parity = $port->parity; my $data = $port->databits; my $stop = $port->stopbits; my $hshake = $port->handshake; print "B = $baud, D = $data, S = $stop, P = $parity, H = $hshake\n"; undef $port; __END__ liefert bei mir: B = 19200, D = 8, S = 1, P = none, H = rts
2011-03-31T06:43:07 kamiWas muss ich nun tun um das alles automatisch über das Skript machen zu lassen?
1
2
3
4
5
6
7
#
#my $cfg_file = 'c:\COM4.cfg'; # Name der Konfigurationsfile für COM4:
#
$port->save($cfg_file); # Speichern der lauffähigen COM4 Parameter
#
$port->restart($cfg_file); # Einlesen und Setzen der Parameter
#
2011-06-30T18:09:14 wollikHallo Bianca,
es scheint so als ob Deine COM4 Parameter nicht richtig gesetzt sind.