以下是一个简单的串口类实现,包括打开串口、关闭串口、发送数据和接收数据方法:

using System.IO.Ports;

public class SerialPortHelper
{
    private SerialPort serialPort;

    public SerialPortHelper(string portName, int baudRate, Parity parity, int dataBits, StopBits stopBits)
    {
        serialPort = new SerialPort(portName, baudRate, parity, dataBits, stopBits);
    }

    public void Open()
    {
        if (!serialPort.IsOpen)
        {
            serialPort.Open();
        }
    }

    public void Close()
    {
        if (serialPort.IsOpen)
        {
            serialPort.Close();
        }
    }

    public void SendData(byte[] data)
    {
        if (serialPort.IsOpen)
        {
            serialPort.Write(data, 0, data.Length);
        }
    }

    public byte[] ReceiveData(int length)
    {
        byte[] buffer = new byte[length];
        if (serialPort.IsOpen)
        {
            serialPort.Read(buffer, 0, length);
        }
        return buffer;
    }
}

使用方法:

SerialPortHelper serialPort = new SerialPortHelper('COM1', 9600, Parity.None, 8, StopBits.One);
serialPort.Open();
serialPort.SendData(new byte[] { 0x01, 0x02, 0x03 });
byte[] receivedData = serialPort.ReceiveData(10);
serialPort.Close();
C# WPF 串口通信类 - 打开、关闭、发送和接收数据

原文地址: https://www.cveoy.top/t/topic/j7VW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录