首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在C#中使用SerialPort端口对象的dataReceived事件?

在C#中,使用SerialPort端口对象的dataReceived事件可以通过以下步骤实现:

  1. 首先,需要引入System.IO.Ports命名空间,以便使用SerialPort类。
代码语言:csharp
复制
using System.IO.Ports;
  1. 创建一个SerialPort对象,并设置相关属性,例如串口名称、波特率等。
代码语言:csharp
复制
SerialPort serialPort = new SerialPort("COM1", 9600);
  1. 为SerialPort对象的dataReceived事件添加事件处理程序。
代码语言:csharp
复制
serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
  1. 定义事件处理程序,处理接收到的数据。
代码语言:csharp
复制
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
    SerialPort sp = (SerialPort)sender;
    string indata = sp.ReadExisting();
    Console.WriteLine("接收到的数据: " + indata);
}
  1. 打开串口以开始接收数据。
代码语言:csharp
复制
serialPort.Open();

完整的代码示例如下:

代码语言:csharp
复制
using System;
using System.IO.Ports;

class SerialPortExample
{
    static void Main()
    {
        SerialPort serialPort = new SerialPort("COM1", 9600);
        serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
        serialPort.Open();
        Console.WriteLine("按任意键退出...");
        Console.ReadKey();
        serialPort.Close();
    }

    private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
    {
        SerialPort sp = (SerialPort)sender;
        string indata = sp.ReadExisting();
        Console.WriteLine("接收到的数据: " + indata);
    }
}

这样,当串口接收到数据时,dataReceived事件就会被触发,并调用DataReceivedHandler方法处理接收到的数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券