C#串口DataReceived事件
时间: 2024-11-24 22:24:09 浏览: 34
在C#中,`SerialPort.DataReceived`是一个事件,它会在接收到新的数据时触发。当你创建一个`SerialPort`对象并连接到串行端口时,可以订阅这个事件来处理从设备传来的实时数据。当串口检测到有数据可用(例如,通过串口线程读取的数据),该事件就会自动激活,并将数据作为参数传递给事件处理程序。
事件处理通常会定义在一个方法中,该方法会被设置为`SerialPort.DataReceived`的监听函数。例如:
```csharp
private void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
if (e.EventType == SerialData.Chars)
{
string receivedData = serialPort.ReadExisting();
// 这里处理接收到的数据,比如解析、存储或显示
Console.WriteLine("Received data: " + receivedData);
}
}
```
你需要记得在`SerialPort`实例上启用接收事件,并注册这个方法:
```csharp
serialPort.DataReceived += serialPort_DataReceived;
serialPort.DiscardInBuffer(); // 清空可能存在的旧数据
serialPort.EnableRts = true; // 如果需要的话,启用发送请求
serialPort.Open();
```
阅读全文