配置:
问题
我正在尝试使用
plink
在 COM9 上打开串行端口连接。使用
PuTTY
我可以打开 COM9 上的串行连接,并且我保存了该串行连接的 session 。COM 端口设置为:
当我尝试使用
plink
而不是 PuTTY
时,出现以下错误:$ plink -serial COM9 -sercfg 115200,8,1,N,N
Unable to open connection:
Unable to open serial port
但是如果我将保存的 PuTTY
session 用于 COM9,它就可以工作!!plink -load COM9
help
help connect Create connection
help disconnect Close existing connection
.
.
但是,我不能使用保存的 session ,因为我的目标是使用 plink
和 Expect 来自动测试串行连接的设备,并且将在不同的机器和不同的 COM 端口上。 最佳答案
我已经知道答案了,但是我在 google 上搜索了这个问题,看到类似的问题没有答案。希望谷歌的下一个人会发现这一点,这将为他们省去一些麻烦。
此问题是特定于 Windows 操作系统的。
在 Windows 上,寻址大于 COM9 的 COM 端口需要特殊寻址。
从 COM1 到 COM9,您将它们标识为例如COM1
、 COM2
等,但在 COM9 上,您必须在 special way 中处理它们,对于 COM10,您必须将其标识为 \\.\COM10
,依此类推。
所以,我尝试了这个并且它有效:
$ plink -serial \\.\COM9 -sercfg 115200,8,1,N,N
help
help connect Create connection
help disconnect Close existing connection
.
.
我不知道为什么
plink
需要特殊的 COM 端口寻址格式,为什么不需要它的 COM9 需要它。当使用串行到 COM1 时,它可以在没有它的情况下工作。 PuTTY
似乎也不关心。关于serial-port - plink 无法打开串口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41098940/