C# シリアル通信 実装ガイド:データ送受信の基本
C#でシリアル通信を実装するには、System.IO.Ports名前空間のSerialPortクラスを使用します。以下は簡単なサンプルコードです:
using System;
using System.IO.Ports;
class Program
{
static SerialPort _serialPort;
static void Main()
{
_serialPort = new SerialPort("COM1", 9600); // 设置串口号和波特率
_serialPort.Open(); // 打开串口
_serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler); // 设置数据接收事件处理函数
string message = "Hello, World!";
_serialPort.WriteLine(message); // 发送数据
Console.ReadLine(); // 等待用户输入
}
static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string data = sp.ReadLine(); // 读取接收到的数据
Console.WriteLine("Received data: " + data);
}
}
上記のコードでは、最初にSerialPortオブジェクトを作成し、ポート番号とボーレートを指定します。次に、シリアルポートを開き、データ受信イベント処理関数を設定します。Main関数では、データを送信するためにWriteLineメソッドを使用し、データを受信する際にはDataReceivedHandler関数内でReadLineメソッドを使用してデータを読み取ります。最後に、Console.WriteLineを使用して受信したデータを出力します。
SerialPortオブジェクトを使用した後、シリアルポートを適時閉じる必要があります。プログラムが終了するときには、_serialPort.Close()を呼び出してシリアルポート接続を閉じることができます。