C#中的通信

serialPort.DataReceived

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

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

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

  2. 配置 SerialPort :设置 SerialPort 对象的属性,如 PortName、BaudRate、Parity、DataBits 和 StopBits。

  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);
    }
}
相关推荐
泛凡(Linyongui)11 小时前
基于 CW32L010 的智能厨卫调温旋钮方案--低成本 EC21 编码旋钮全解析
单片机·嵌入式硬件·c#
暴走约伯12 小时前
【VFX工具链源码拆解 02】告别机械劳动(上):一键统改百个子粒子颜色与批量重命名
3d·unity·c#·材质
信息安全失业大专人员14 小时前
每日了解一个智能体-WorkBuddy
开发语言·ai·c#·智能体
呆呆敲代码的小Y15 小时前
【实战精选面试题】C# 面试题详细解答,按难易程度排序
android·java·游戏·c#·游戏开发·unity面试题·c#面试题
淡海水15 小时前
09-01-内存-Unity资源生命周期全景
unity·c#·游戏引擎·.netcore·gc
椒颜皮皮虾྅19 小时前
让 C# 读懂整张图:DeploySharp 驱动 PaddleOCR v4/v5/v6,打通 OCR 全流程
开发语言·人工智能·深度学习·学习·c#·ocr·cuda
昂好的day19 小时前
C# 同步异步与多线程:Thread / Task / 线程池一次讲透(上篇)
开发语言·windows·c#
吃一碗粉只付一碗钱1 天前
12-给SPA友好的401和403响应
c#·状态模式
caimouse1 天前
MonoDevelop 编译用户应用程序时调用的是哪个编译器
c#
will_net2 天前
apollo 站点部署&C#接入
开发语言·c#·apollo