sub opening_port { print "Connecting to $ports[$portname]..."."\n"; $serial->baudrate(9600) || die "Bad baudrate"; $serial->parity('none') || die "Bad parity"; $serial->databits(8) || die "Bad databits"; $serial->stopbits(1) || die "Bad stopbits"; #$serial->buffers(4096,4096) || die "Buffer error"; $serial->handshake("none") || die "Bad handshake method"; $serial->write_settings; #print $serial."\n"; while($port_opened) { my @array; my $string; my $i=0; do { $string=$serial->read(1); if((ord($string) >= 0x09 && ord($string) <=0x7A) || $string eq '\t' || $string eq '\n') { $array[$i]=$string; $i++; } }while($string ne "\n" ); $i=0; $string = join( '' , @array ) ; chomp($string); my @values = split('\t',$string); print $values[3]; } close($serial); } #### sub open_port { if($listbox1->curselection) { $portname=$listbox1->index($listbox1->curselection()); $port_opened=1; &port_init; } else { &portwarning; } #### $btn1=$mw->Button(-text=>"Open",-width=>5,-height=>2,-command=>\&open_port) ->place(-relx=>0.05,-rely=>0.25); $btn2=$mw->Button(-text=>"Close",-width=>5,-height=>2,-command=>\&close_port) ->place(-relx=>0.15,-rely=>0.25);