如何调用串行端口C#中的接收数据

本文关键字:数据 串行端口 何调用 调用 | 更新日期: 2023-09-27 17:57:38

我是C#串行端口的新手…

我有一个虚拟串行端口驱动程序,并尝试这个代码。。。

 private string strPortData = null;
    private void okButton_Click(object sender, EventArgs e)
    {
                if (!serialPort1.IsOpen)
                {
                    serialPort1.Open();
                }
                string strPortData= "CMD1";
                serialPort1.WriteLine(strPortData);
    }
    private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
        textBox1.Text = serialPort1.ReadLine();
    }

但从来没有serialPort1_DataReceived调用。

我应该如何处理呼叫DataReceived?

如何调用串行端口C#中的接收数据

尝试使用类似以下的代码创建一个新的控制台应用程序

void Main()
{
    using (SerialPort serialPort1 = new SerialPort("COM1"))
    using (SerialPort serialPort2 = new SerialPort("COM2"))
    {
        serialPort1.DataReceived += (sender, args) => {
            Console.WriteLine("COM1 Received: " + serialPort1.ReadLine());
        };
        serialPort2.DataReceived += (sender, args) => {
            Console.WriteLine("COM2 Received: " + serialPort2.ReadLine());
        };
        serialPort1.Open();
        serialPort2.Open();
        serialPort1.WriteLine("Hello, COM2!");
        Thread.Sleep(200);
    }
}

上面的代码打开两个串行端口,设置数据接收事件,并通过它发送数据。如果运行该代码,您应该会看到"COM2 received:Hello,COM2!"输出。