c# - C#如何调用串口收到的数据

标签 c# serial-port

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

关于c# - C#如何调用串口收到的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22944952/

相关文章:

c - linux设置串口中断

c# - 具有多种返回类型的方法

python - Arduino、python、pyserial 和套接字

c - Linux - 与 C 的多串口通信

python - Python脚本与Arduino之间的一次串口通信-多次读写

c - 如何在 Linux 中使用 C 通过串行端口连接发送 .gif 文件

c# - 使用 C# 的 Tic-Tac-Toe 中的人工智能

c# - 元组的替代方法(setter)

c# - 线程和 socket

c# - 如何使用 c# 将自动完成应用于 excel 中的下拉列表?