试图打开一个串口。获取错误。什么导致了错误?
问题描述:
我使用单声道和C#打开我的电脑上的ttys2端口。我花了很多时间试图弄清楚为什么我无法打开我的串口。我终于包括一个尝试赶上,以帮助弄清楚。我是C#的新手..所以任何指导都会有所帮助。试图打开一个串口。获取错误。什么导致了错误?
Button was just pushed .... Opening Port....
Error in Opening dev/ttys2
System.IO.IOException: No such file or directory
at System.IO.Ports.SerialPortStream.ThrowIOException() [0x00012] in
<f8255d9ef0594d18ae2c0d97286b9a80>:0
at System.IO.Ports.SerialPortStream..ctor (System.String portName,
System.Int32 baudRate, System.Int32 dataBits, System.IO.Ports.Parity
parity, System.IO.Ports.StopBits stopBits, System.Boolean dtrEnable,
System.Boolean rtsEnable, System.IO.Ports.Handshake handshake,
System.Int32 readTimeout, System.Int32 writeTimeout, System.Int32 readBufferSize, System.Int32 writeBufferSize) [0x0001e] in <f8255d9ef0594d18ae2c0d97286b9a80>:0
at (wrapper remoting-invoke-with-check)
System.IO.Ports.SerialPortStream:.ctor (string,int,int,System.IO.Ports.Parity,System.IO.Ports.StopBits,bool,bool,System.IO.Ports.Handshake,int,int,int,int)
at System.IO.Ports.SerialPort.Open() [0x00078] in
<f8255d9ef0594d18ae2c0d97286b9a80>:0
at (wrapper remoting-invoke-with-check)
System.IO.Ports.SerialPort:Open()
at MonoSerial.Program.Main() [0x00089] in
<805ba7595bb8403d9fb17ebbff143c7f>:0
这里是我写的代码:
Console.WriteLine("Button was just pushed .... Opening Port....");
SerialPort Serial_tty = new SerialPort();
string ttyname;
ttyname = "dev/ttys2";
Serial_tty.PortName = ttyname; // assign the port name
Serial_tty.BaudRate = 9600; // Baudrate = 9600bps
Serial_tty.Parity = Parity.None; // Parity bits = none
Serial_tty.DataBits = 8; // No of Data bits = 8
Serial_tty.StopBits = StopBits.One; // No of Stop bits = 1
Serial_tty.Handshake = Handshake.None;
try
{
Serial_tty.Open(); // Open the port
Serial_tty.Write("A"); // Write an ascii "A"
Serial_tty.Close(); // Close port
Console.WriteLine("\nA written to port {0}", Serial_tty.PortName);
}
catch(Exception e)
{
Console.WriteLine("Error in Opening {0}",Serial_tty.PortName);
Console.WriteLine(e);
}
答
ttyname = "dev/ttys2"
我敢肯定你需要一个领导对文件名的前/
,否则它会尝试打开该文件相对于当前目录,如home/pax/dev/ttys2
。
+0
现在改变它我得到一个资源暂时不可用错误 – codigomonstruo
+0
@codigomonstruo,所以这将是一个*不同*问题。这一个,现在它已被确认为一个简单的错字,应该可能被关闭/删除。 – paxdiablo
您确定端口已配对吗? – CroCo
我该如何检查? – codigomonstruo
在使用串行端口之前,您需要建立两个COM端口之间的连接。你是怎么做到的?笔记本电脑没有串口。你依靠虚拟应用程序来为你提供这样的连接。 – CroCo