c#

c#串口通信数据读取的方法是什么

小亿
353
2023-10-28 02:46:43
栏目: 编程语言

在C#中进行串口通信数据读取的方法是使用SerialPort类。

首先,需要创建一个SerialPort对象,并设置好串口的参数,例如串口号、波特率、数据位、停止位、校验位等。

然后,可以通过调用SerialPort对象的Read方法来读取数据,该方法会阻塞程序直到接收到数据。可以指定读取的字节数量,也可以直接读取全部可用数据。

下面是一个简单的示例代码:

using System;
using System.IO.Ports;

class Program
{
    static void Main(string[] args)
    {
        SerialPort serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
        serialPort.DataReceived += SerialPort_DataReceived;
        serialPort.Open();

        Console.WriteLine("Press any key to exit...");
        Console.ReadKey();

        serialPort.Close();
    }

    private static void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
        SerialPort serialPort = (SerialPort)sender;
        string data = serialPort.ReadExisting();
        Console.WriteLine("Received data: " + data);
    }
}

在上述代码中,首先创建了一个SerialPort对象,设定了串口号为COM1,波特率为9600,其他参数使用默认值。然后通过DataReceived事件来设置接收数据的回调函数。

在回调函数SerialPort_DataReceived中,通过ReadExisting方法读取接收到的数据,并打印到控制台。

最后,在Main函数中通过按下任意键来退出程序,然后关闭串口。

注意:以上代码只是简单示例,实际应用中可能需要根据具体情况进行参数设置、错误处理等。

0
看了该问题的人还看了