配置:

  • Windows 7
  • 腻子 0.67
  • plink 0.67

  • 问题
    我正在尝试使用 plink 在 COM9 上打开串行端口连接。
    使用 PuTTY 我可以打开 COM9 上的串行连接,并且我保存了该串行连接的 session 。
    COM 端口设置为:
  • 波特:115200
  • 数据:8 位
  • 停止:1 位
  • 奇偶校验:无
  • 流量控制:无

  • 当我尝试使用 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 ,因为我的目标是使用 plinkExpect 来自动测试串行连接的设备,并且将在不同的机器和不同的 COM 端口上。

    最佳答案

    我已经知道答案了,但是我在 google 上搜索了这个问题,看到类似的问题没有答案。希望谷歌的下一个人会发现这一点,这将为他们省去一些麻烦。

    此问题是特定于 Windows 操作系统的。

    在 Windows 上,寻址大于 COM9 的 COM 端口需要特殊寻址。

    从 COM1 到 COM9,您将它们标识为例如COM1COM2 等,但在 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/

    10-14 09:32