Visual C# (.NET Framework)

プロジェクトの作成

Visual Studioを起動し、[ファイル(F)]から[新規作成(N)]-[プロジェクト(P)]を選択します。
[新しいプロジェクトの作成]ダイアログボックスのテンプレートから、[Visual C#]の[Windows フォーム アプリケーション(.NET Framework)]を選択し、[次へ(N)]ボタンをクリックします。

[新しいプロジェクトを構成します]ダイアログボックスから、作成するプロジェクトの名前と保存場所を指定し、
フレームワーク(F)項目から[.NET Framework 4.8]を選択し、[作成(C)]ボタンをクリックすると、プロジェクトが作成されます。

※上記は、Microsoft Visual Studio Professional 2022 (64ビット)の内容です。バージョンにより項目名やコマンド等が異なる場合があります。

 

SerialPortコンポーネントをプロジェクトに追加

シリアル通信を、Visual C#で行う場合、SerialPortクラスを利用する方法があります。

参考:[SerialPortクラス] (外部リンクであるため、予告なくリンクが変更されることがございます)
  https://learn.microsoft.com/en-us/dotnet/api/system.io.ports.serialport?view=netframework-4.8

Visual C#デフォルト設定では、.NET FramewrokのSystem.IO.Ports.SerialPortコンポーネントがプロジェクトに組み込まれています。

メニューバーより、[表示(V)/デザイナー(D)]を選択すると、プロジェクトのメインフォームが表示されます。
ツールボックスウィンドウ内に組み込まれているコモンコントロールや、コンポーネントの一覧が表示されます。

ツールボックスウィンドウ内のコンポーネントの中に、SerialPortコンポーネントがあります。
このSerialPortコンポーネントを、フォーム上へドラッグ&ドロップすると、SerialPortコンポーネントが追加されます。

Visual Studioの[ソリューション エクスプローラーー]ウィンドウ内のツリービューで、[Form1.cs]の中に、serialPort1 : SerialPortの有無が確認できます。

※上記は、Microsoft Visual Studio Professional 2022 (64ビット)の内容です。バージョンにより項目名やコマンド等が異なる場合があります。

 

SerialPortコンポーネントに通信設定をする

Visual C#上のプロパティウィンドウで、プロジェクトに追加したSerialPortコンポーネントのプロパティ設定ができます。

また、プログラムコードで、各プロパティ値を参照したり代入することもできます。
SerialPortコンポーネント用のenumパラメータ(StopBit.oneや、Parity.Noneなど)を使う場合は、Usingステートメントを利用してSystem.IO.Ports名前空間を可視化してください。

詳細はサンプルプログラムのソースコードを参照してください。

プログラム例:

Using System.IO.Ports;     // Namespace for System.IO.Ports

namespace SerialPort

{

    public partial class Form1 : Form

    {

        ・・・・

 

        private void Form1_Load(object sender, EventArgs e)

        {

            ・・・・

            

            serialPort1.BaudRate = 9600;           //ボーレート設定(Setting Baudrate.)

            serialPort1.DataBits = 8;              //データビット設定(Setting Databits.)

            serialPort1.StopBits = StopBits.One;   //ストップビット設定(Setting Stopbits.)

            serialPort1.Parity = Parity.None;      //パリティ設定(Setting Paritybits.)

 

            ・・・・

        }

 

        ・・・・

    }

}

 

SerialPortコンポーネントのイベント処理

Visual C#上のプロパティウィンドウで、プロジェクトに追加したSerialPortコンポーネントのイベント設定ができます。
イベント設定をすると、以下のようなイベント処理関数が自動作成されます。

自動生成されたイベント処理関数serialPort1_DataReceived()に、必要なイベント処理プログラムを追記します。
詳細はサンプルプログラムのソースコードを参照してください。

プログラム例:

Using System.IO.Ports      // Namespace for System.IO.Ports

namespace SerialPort

{

    public partial class Form1 : Form

    {

        private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)

        {

            ・・・・

        }

    }

}