c#由socat创建的开放串口

时间:2014-08-04 09:49:41

标签: virtual-serial-port socat

创建两个虚拟串口

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);
            }
        }
    }
}

Catch exception"无效的参数"。

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

1 个答案:

答案 0 :(得分:0)

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

  

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

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