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()を呼び出してシリアルポート接続を閉じることができます。

bannerAds