执行此代码按照您的预期工作,但终端会话在方法返回时变得不稳定。
它确实可以从MonoDevelop(我在Windows中有类似的东西没有问题),但从bash“mono program.exe”调用它没有。它一直有效,直到我再次收到提示,提示看起来正确但我无法用它做任何事情,它完全冻结。
我在Lion中运行Xamarin Studio 4.0.1。 .Net目标似乎并不重要。
using System;
using System.Text;
using System.IO.Ports;
namespace relay
{
class Program
{
static void Main (string[] args)
{
string[] ports = SerialPort.GetPortNames ();
foreach (string name in ports) {
try {
SerialPort port = new SerialPort (name, 9600, Parity.None, 8, StopBits.One);
port.Open ();
port.Close ();
}
catch (SystemException ex)
{
System.Console.WriteLine(ex.Message);
}
}
}
}
}