我正在尝试读取 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";
}
通过调整读取间隔,我得到了上面提到的结果。我从 interval 和 char_time 参数中的默认值 100 开始,但每隔三行才获取一次。
发送任何见解!克里斯