如何使用C#访问COM-Port?

时间:2015-06-08 10:18:06

标签: c# visual-studio-2013 arduino arduino-uno

这里串口通讯端口显示无法访问的错误.....但是串口通讯端口在arduino中工作正常,所以它不能解决端口问题,也不是驱动程序问题,驱动程序更新和工作好吧,所以问题可能在代码中......我是C#的新手。

public partial class Form1 : Form
{
    private SerialPort myport;
    private string in_data;
    public Form1()
    {
        InitializeComponent();
    }

    private void Start_Click(object sender, EventArgs e)
    {

        myport = new SerialPort();
        myport.BaudRate = 19200;
        myport.PortName = pn.Text;
        myport.Parity = Parity.None;
        myport.DataBits = 8;
        myport.StopBits = StopBits.One;
        myport.DataReceived += myport_DataReceived;
        try
        {
            myport.Open();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Error!!");
        }

    }

    void myport_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
        *in_data = myport.ReadLine();***
        this.Invoke(new EventHandler(displaydata_event));

    }
    private void displaydata_event(object sender, EventArgs e)
    {
        string[] newData = in_data.Split(',');

        bv.Text = newData[0];
        bi.Text = newData[1];
        pv.Text = newData[2];
        pi.Text = newData[3];
        t.Text = newData[4];
    }
}

1 个答案:

答案 0 :(得分:0)

  

无法访问

这可能表示端口不存在或已在使用中。 也许另一个应用程序已经在监听此端口。 (Arduino的?)

Comport.Open()这里有例外情况: MSDN SerialPort.Open Method