【问题标题】:c# open serial port created by socatc#打开socat创建的串口
【发布时间】:2014-08-04 09:49:40
【问题描述】:

创建两个虚拟串口

socat  -d -d -d  PTY,b115200,raw,echo=0,crnl,link=/home/user/ttyS110 PTY,b115200,raw,echo=0,crnl,link=/home/user/ttyS111 

cat /home/user/ttyS110 回声“你好”> /home/user/ttyS111 有效!

尝试打开:

using System;
using System.IO.Ports;

namespace qqq
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            SerialPort fSerialPort = new SerialPort();

            fSerialPort.PortName = "/home/user/ttyS111";

            fSerialPort.BaudRate = 115200;
            fSerialPort.Parity = Parity.None;
            fSerialPort.DataBits = 8;
            fSerialPort.StopBits = StopBits.One;
            fSerialPort.ReadTimeout = 500;
            fSerialPort.WriteTimeout = 500;

            try
            {
                fSerialPort.Open();
                Console.WriteLine("Open port");
            }
            catch (Exception e)
            {
                Console.WriteLine("Open port ERROR! " + e.Message);
            }
        }
    }
}

捕获异常“无效参数”。

如何从 c# (Mono) 打开虚拟端口?

【问题讨论】:

    标签: virtual-serial-port socat


    【解决方案1】:

    这似乎与 socat 没有正确模拟串行端口有关。我能找到的所有帮助都是下面的信息,它与 USB 到串行适配器有关,但我猜 socat 的行为方式相同。

    打开串口时,System.IO.Ports.SerialPort间接打开 调用 SetSignal,它调用 TIOCMGET ioctl,碰巧的是, 未在 mos7720 驱动程序中实现!

    http://advogato.org/person/tripp/diary/18.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      • 1970-01-01
      相关资源
      最近更新 更多