我们需要使用Perl访问Windows中的串行端口。
我们不能为此目的使用任何Perl模块,例如Win32::SerialPort
。
以下是我们制作的代码。
#!/usr/bin/perl -w
my $c2 = 0;
system("MODE COM1:9600,N,8,1,P");
while (1) {
open( FILE, "+>COM1" ) or die("Error reading file, 0stopped");
my ($buffer) = "";
while ( read( FILE, $buffer, 100000 ) ) {
print "$c2\t$buffer\n";
$c2++;
}
close(FILE);
}
由于我们在WHILE语句中有端口OPEN和CLOSE,因此在关闭期间我们缺少一些数据。
我们试图将那些OPEN和CLOSE放在WHILE语句之外,但在那段时间我们只得到一组需要连续接收数据的数据。