繁体   English   中英

如何在串口C#中调用接收到的数据

[英]how to call received data in Serial Port C#

我是 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 该怎么办?

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

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!” 输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM