我正在编写一个perl脚本,我需要读取和写入通过串行连接的设备,并且它总是因“无法找到设备”而失败。
以下是相关代码:
my $portObj = new Win32::SerialPort("COM67") || return "0";
此操作失败并返回0。 我确认该设备存在于设备管理器中。我确实看到COM1和COM3端口确实工作,而COM67和COM22没有。
我希望这可能是与5个字符的端口名相关的某种愚蠢的字符串错误...
但我认为该设备不允许写入或其他因素导致此问题。但如果是这种情况,我希望它只会在我尝试写入时引起问题。我使用终端程序(putty)从设备读取,所以我知道读取是可能的。
另外,在最糟糕的情况下,我可以重新排列代码,这样我只需要读取功能。但这是一个不太理想的解决方案。