C#用串口实时获取数据

在C#中,你可以使用System.IO.Ports.SerialPort类来通过串口实时获取数据。以下是一个基本的示例:

csharp 复制代码
using System;  
using System.IO.Ports;  
  
public class SerialPortProgram  
{  
    private SerialPort mySerialPort;  
  
    public SerialPortProgram()  
    {  
        mySerialPort = new SerialPort("COM1"); //这里的"COM1"应该是你想连接的串口  
  
        mySerialPort.BaudRate = 9600; //波特率  
        mySerialPort.Parity = Parity.None; //奇偶校验  
        mySerialPort.StopBits = StopBits.One; //停止位  
        mySerialPort.DataBits = 8; //数据位  
        mySerialPort.Handshake = Handshake.None; //控制协议  
  
        mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);  
  
        mySerialPort.Open();  
  
        Console.WriteLine("Press any key to continue...");  
        Console.WriteLine();  
        Console.ReadKey();  
        mySerialPort.Close();  
    }  
  
    private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)  
    {  
        SerialPort sp = (SerialPort)sender;  
        string indata = sp.ReadExisting();  
        Console.WriteLine("Data Received:");  
        Console.Write(indata);  
    }  
}

这个程序会实时从串口读取数据并在控制台输出。当接收到新数据时,DataReceivedHandler方法会被调用。在这个方法中,我们读取所有现有的数据(sp.ReadExisting())并输出。

注意,你需要根据你的设备和需求来设置串口的参数,例如波特率、校验位、停止位、数据位等。这些参数的设置应参照你的设备的文档。

最后,记得在完成串口通信后关闭串口,以释放资源。

相关推荐
YuanlongWang2 小时前
C# 基础——装箱和拆箱
java·开发语言·c#
QQ12958455047 小时前
C# 如何能够创建一个MVC的WEB项目
c#·mvc
星河队长10 小时前
VS创建C++动态库和C#访问过程
java·c++·c#
William_cl11 小时前
【C# MVC 前置】异步编程 async/await:从 “卡界面” 到 “秒响应” 的 Action 优化指南(附微软官方避坑清单)
microsoft·c#·mvc
yong999011 小时前
C#驱动斑马打印机实现包装自动打印
java·数据库·c#
Jose_lz12 小时前
C#开发学习杂笔(更新中)
开发语言·学习·c#
mingupup12 小时前
WPF/C#:使用Microsoft Agent Framework框架创建一个带有审批功能的终端Agent
c#·wpf
YuanlongWang14 小时前
C# 设计模式——单例模式
单例模式·设计模式·c#
YuanlongWang14 小时前
C#基础——GC(垃圾回收)的工作流程与优化策略
java·jvm·c#
YuanlongWang15 小时前
C# 基础——多态的实现方式
java·c#