Re: serial port
Hello lindeb,
Sunday, July 18, 2004, 1:42:21 PM, you wrote:
ltb> есть необходимось постоянноо слушать com порт и писать все в файл, но
ltb> программы типа minicom плохо, что посоветуете ? Как это сделать
ltb> максимально просто ?
У меня этим скриптом читаются данные из миниАТС:
(взято из pblogan-0.0.1a.tar.gz)
#!/usr/bin/perl -w
#
# This perl script is based on a program written by Paul Haas, the original program
# can be found at http://hamjudo.com/rcx/talkrcx.txt
#
#
$port = "/dev/ttyS0";
open("portfh","+<$port") || die "opening $port for input: $!";
system("stty 9600 -echo parmrk cs8 -cstopb raw < $port");
while(1) {
getmsg("portfh" );
sleep( 1 );
}
close("portfh");
sub getmsg {
local $portfh = @_;
local($inbuff,$rin) = ('','');
vec($rin,fileno("portfh"),1) = 1;
while ( select($rin, undef, undef, 0.3) ) {
$char = '';
sysread ("portfh",$char,1);
$inbuff .= $char;
}
if( length( $inbuff ) > 0 ){
open( LOG, ">>/var/log/pbx.log" );
print LOG "$inbuff" ;
close( LOG );
}
return;
}
--
Best regards,
Alexander
Reply to: