Я пытаюсь читать потоковые последовательные данные на 115200b и не могу, кажется, забрать все.Отсутствует либо данные, либо целые строки на последовательном порту.
используя метод ввода ($ data = $ Port -> input), я получаю первые 14 или 15 символов каждой строки. Мне нужна целая линия.
с использованием метода чтения ($ data = $ Port -> read (4096)), и, отрегулировав read_interval, я могу либо получить частичные числа каждой строки, используя $ Port-> read_interval (1);
или полностью каждая третья строка с использованием $ Port-> read_interval (2);
Мне нужна всякая строка.
здесь код
my $App_Main_Port = Win32::SerialPort->start ($Test_cfgfile);
$App_Main_Port->read_interval(1);
$App_Main_Port->read_char_time(1);
for ($i=0;;) {
# $data = $App_Main_Port -> input;
$data= $App_Main_Port -> read(4096);
print "$data\n";
}
путем регулировки интервала чтения я получаю результаты, упомянутые выше. Я начал с значений по умолчанию 100 в параметрах интервала и char_time, но получал только каждую третью строку.
Tx для любого понимания! Chris
Просьба указать код, демонстрирующий проблему. По крайней мере, укажите, какой модуль вы используете! – ikegami