Программа последовательного порта с 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, но за это время мы получаем только один набор данных, для которого нам необходим непрерывный прием данных.

0 ответов

Другие вопросы по тегам