serialPort.DataReceived
在 C# 的 Windows Forms 应用程序中,使用 serialPort.DataReceived 事件来处理串行端口接收到的数据是一种常见的做法。这段代码表示您正在订阅 SerialPort 类的 DataReceived 事件,并指定一个名为 SerialPort_DataReceived 的方法来处理该事件。
以下是如何实现这个过程的步骤:
-
创建 SerialPort 对象 :首先,需要有一个
SerialPort对象,并配置它以连接到所需的串行设备。 -
配置 SerialPort :设置
SerialPort对象的属性,如PortName、BaudRate、Parity、DataBits和StopBits。 -
订阅 DataReceived 事件 :使用
+=运算符订阅DataReceived事件,并指定一个事件处理方法。 -
实现事件处理方法 :编写
SerialPort_DataReceived方法,该方法将在数据到达时被调用。 -
打开 SerialPort :调用
SerialPort对象的Open方法来开始监听数据。 -
读取数据 :在
SerialPort_DataReceived方法中,使用SerialPort对象的ReadExisting或其他读取方法来获取数据。
cs
using System;
using System.IO.Ports;
public class SerialCommunication
{
private SerialPort _serialPort;
public SerialCommunication()
{
// 初始化 SerialPort 对象
_serialPort = new SerialPort("COM3") // 正确的端口名称
{
BaudRate = 9600,
Parity = Parity.None,
DataBits = 8,
StopBits = StopBits.One,
Handshake = Handshake.None
};
// 订阅 DataReceived 事件
_serialPort.DataReceived += SerialPort_DataReceived;
// 打开 SerialPort
_serialPort.Open();
}
// 事件处理方法
private void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
// 读取数据
string data = _serialPort.ReadExisting();
Console.WriteLine("Received data: " + data);
}
}