创建两个虚拟串口
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)打开虚拟端口?
答案 0 :(得分:0)
这似乎与socat无法正确模拟串口有关。所有我能找到帮助的是下面的信息,它与USB转串口适配器有关,但我猜测socat的行为方式相同。
间接打开串口,System.IO.Ports.SerialPort 调用SetSignal,调用TIOCMGET ioctl,碰巧, 没有在mos7720驱动程序中实现!