Visual Studioを起動し、[ファイル(F)]から[新規作成(N)]-[プロジェクト(P)]を選択します。
[新しいプロジェクトの作成]ダイアログボックスのテンプレートから、[Visual C#]の[Windows フォーム アプリケーション(.NET
Framework)]を選択し、[次へ(N)]ボタンをクリックします。
[新しいプロジェクトを構成します]ダイアログボックスから、作成するプロジェクトの名前と保存場所を指定し、
フレームワーク(F)項目から[.NET Framework 4.8]を選択し、[作成(C)]ボタンをクリックすると、プロジェクトが作成されます。
※上記は、Microsoft Visual Studio Professional 2022 (64ビット)の内容です。バージョンにより項目名やコマンド等が異なる場合があります。
シリアル通信を、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ビット)の内容です。バージョンにより項目名やコマンド等が異なる場合があります。
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.)
・・・・
}
・・・・
}
}
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)
{
・・・・
}
}
}