【问题标题】:Visual Studio serial port encoding problemVisual Studio 串口编码问题
【发布时间】:2022-11-02 19:32:50
【问题描述】:

我正在尝试使用 Visual Studio 2017 的串行端口从远程终端读取字符串,只要字符串不包含字符 19,它就可以正常工作。由于某种原因,字符串中字符 19 的任何实例都会被忽略。我尝试了 1552 和 28591 编码,并使用 ReadExisting 和 Read (to byte array) 函数读取端口,VS 函数总是丢失或忽略字符 19。如果速度问题没有成功,我尝试了不同的波特率。如果我使用 RealTerm 而不是 VS 来捕获串行数据,则每次都会显示包含字符 19 的任何实例的完整字符串。有谁知道发生了什么?我的端口设置目前如下:

SerialPort1.PortName = "COM" & CStr(NumericUpDown9.Value)
SerialPort1.BaudRate = 57600
SerialPort1.Encoding = System.Text.Encoding.GetEncoding(1252)
SerialPort1.Parity = IO.Ports.Parity.None
SerialPort1.StopBits = IO.Ports.StopBits.One
SerialPort1.DataBits = 8

因此,如上所述,我尝试了所有我能想到的波特率、编码和读取方法的组合,并且在接收到的数据中从未看到字符 19。

【问题讨论】:

    标签: visual-studio-2017 serial-port


    【解决方案1】:

    没关系:我发现 XonXoff 握手已在代码中的其他位置启用了端口。将此属性设置为 None 现在所有字符都可以正常通过。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-23
      • 2011-04-15
      • 2021-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      相关资源
      最近更新 更多