Программа последовательного порта с Perl в Windows без использования модулей
Нам нужно получить доступ к последовательному порту в Windows с помощью Perl. Мы не можем использовать любые модули 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);
}
Поскольку у нас есть порты OPEN и CLOSE внутри оператора WHILE, нам не хватает некоторых данных в течение закрытого периода.
Мы попытались поместить эти OPEN и CLOSE вне оператора WHILE, но за это время мы получаем только один набор данных, для которого нам необходим непрерывный прием данных.