gpt4 book ai didi

perl Win32::SerialPort:读取和输入方法之间的区别

转载 作者:行者123 更新时间:2023-12-04 22:44:11 26 4
gpt4 key购买 nike

我一直在尝试使用模块 Win32::SerialPortperl 5.10 (也许它与 5.14 有一些问题)。我必须向串行端口发出命令并获取它们的输出。我已经发现 write 将为我完成前面的部分。对于输出部分,我看到了如下实现:

$port_obj->write("ATE");  #assuming we give the AT command Echo
$res = $port_obj->input;

如果这给出了命令的输出,为什么我们不能像下面这样更直观(即使 $res 将返回写入的位数)和 $res捕获写入的输出。
$res = $port_obj->write("ATE");

此外,我还看到了 $port_obj->read() 的一些实现。但我不确定读取和输入法之间有什么区别。

请帮忙。

最佳答案

1.)由于连接的设备,在所有(大多数?)情况下,直接从写入返回接收到的数据将不起作用。如果它不回复或不立即回复怎么办?那里有无数的串行设备,你永远不知道会发生什么。

2.) $PortObj->read是一个阻塞调用,即它一直等到收到请求的字节数。 $PortObj->input是非阻塞的,即它立即返回,告诉你收到了多少字节(如果有的话)。在这一点上,文档有点模糊。

干杯。

关于perl Win32::SerialPort:读取和输入方法之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10696735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com