📜  c# 串口 - C# (1)

📅  最后修改于: 2023-12-03 14:39:44.917000             🧑  作者: Mango

C# 串口 - C#

简介

在C#编程中,串口通信是一种常用的方式,用于与硬件设备进行数据交互。本文将带你深入了解C#串口通信的基础知识和相关操作,让你能够轻松实现与外部设备的数据交互。

串口基础知识

串口是计算机与外设之间进行数据传输的一种通信方式。在C#中,可以通过System.IO.Ports命名空间中的SerialPort类来实现对串口的访问和操作。

使用前提

在使用C#进行串口通信之前,需要确保以下条件已经满足:

  1. 电脑上已经连接了相应的串口设备。
  2. 安装了串口设备的驱动程序。
打开和关闭串口

要使用C#串口通信,首先需要打开相应的串口。通过以下代码片段,我们可以实现打开和关闭串口:

using System.IO.Ports;

string portName = "COM1";  // 指定串口号
int baudRate = 9600;  // 波特率
Parity parity = Parity.None;  // 校验位
int dataBits = 8;  // 数据位
StopBits stopBits = StopBits.One;  // 停止位

SerialPort serialPort = new SerialPort(portName, baudRate, parity, dataBits, stopBits);

// 打开串口
serialPort.Open();

// 关闭串口
serialPort.Close();
数据的收发

通过串口可以实现数据的发送和接收。下面的代码演示了如何发送和接收数据:

// 发送数据
string data = "Hello, SerialPort!";
serialPort.Write(data);

// 接收数据
string receivedData = serialPort.ReadExisting();
事件驱动的数据接收

串口在接收数据时,可以使用事件驱动的方式来处理数据。通过注册SerialPort类的DataReceived事件,可以在数据到达时自动触发相应的事件处理方法。以下是一个示例代码:

void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
    SerialPort sp = (SerialPort)sender;
    string data = sp.ReadExisting();
    
    // 处理接收到的数据
    // ...
}

serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
总结

本文介绍了C#串口通信的基础知识和相关操作,包括打开和关闭串口、数据的收发以及事件驱动的数据接收。希望通过本文的介绍,你能够更加深入理解串口通信的相关概念,并能够熟练地运用C#进行串口通信的开发。