C#中的通信

serialPort.DataReceived

在 C# 的 Windows Forms 应用程序中,使用 serialPort.DataReceived 事件来处理串行端口接收到的数据是一种常见的做法。这段代码表示您正在订阅 SerialPort 类的 DataReceived 事件,并指定一个名为 SerialPort_DataReceived 的方法来处理该事件。

以下是如何实现这个过程的步骤:

  1. 创建 SerialPort 对象 :首先,需要有一个 SerialPort 对象,并配置它以连接到所需的串行设备。

  2. 配置 SerialPort :设置 SerialPort 对象的属性,如 PortNameBaudRateParityDataBitsStopBits

  3. 订阅 DataReceived 事件 :使用 += 运算符订阅 DataReceived 事件,并指定一个事件处理方法。

  4. 实现事件处理方法 :编写 SerialPort_DataReceived 方法,该方法将在数据到达时被调用。

  5. 打开 SerialPort :调用 SerialPort 对象的 Open 方法来开始监听数据。

  6. 读取数据 :在 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);
    }
}
相关推荐
运维开发小白4 小时前
使用夜莺 + Elasticsearch进行日志收集和处理
运维·c#·linq
幻想趾于现实5 小时前
C# Winform 入门(4)之动图显示
开发语言·c#·winform
向宇it7 小时前
【零基础入门unity游戏开发——2D篇】SortingGroup(排序分组)组件
开发语言·unity·c#·游戏引擎·材质
军训猫猫头7 小时前
87.在线程中优雅处理TryCatch返回 C#例子 WPF例子
开发语言·ui·c#·wpf
du fei8 小时前
C# 与 相机连接
开发语言·数码相机·c#
古力德9 小时前
Unity中造轮子:定时器
c#·unity3d
小码编匠10 小时前
C# 实现西门子S7系列 PLC 数据管理工具
后端·c#·.net
“抚琴”的人1 天前
【机械视觉】C#+VisionPro联合编程———【六、visionPro连接工业相机设备】
c#·工业相机·visionpro·机械视觉
FAREWELL000751 天前
C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法
学习·c#·面向对象·运算符重载·oop·拓展方法
CodeCraft Studio1 天前
Excel处理控件Spire.XLS系列教程:C# 合并、或取消合并 Excel 单元格
前端·c#·excel