今年我校的教工体检,血常规机器更换为全自动的,所以需要研究一下导出化验数据。
试了一下Windows的超级终端,可以用,但每次只能接收5个人的数据,体检期间每天做一百多人,这样接收起来太麻烦了。
在网上找不到其他好用的串口软件,只好试一下几年前用过的一个Perl程序。经过调试,竟然可以很好地工作。
源代码如下:
#!/usr/bin/perl
# 串口通信程序
use Win32::SerialPort;
my $port = 'COM1';
my $PortObj = new Win32::SerialPort ($port) || die "Can't open $port: $^E\n"; # $quiet is optional
$PortObj->error_msg(1); # use built-in error messages
$PortObj->user_msg(1);
$PortObj->databits(8);
$PortObj->baudrate(115200);
$PortObj->parity("none");
$PortObj->stopbits(1);
$PortObj->write_settings || die "Couldn't write settings\n";
open (f1,">today.dat");
my $count_in = 0;
my $InBytes = 4096;
while (1)
{
($count_in, $string_in) = $PortObj->read($InBytes);
print $string_in;
}
close f1;
可以看到,需要安装Win32::SerialPort这个模块。
因为旧电脑里的草莓Perl里当时已装好这个模块,把整个Perl文件夹拷贝到其他电脑,可以直接使用。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21129783/viewspace-1154695/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21129783/viewspace-1154695/