Visual Studioを起動し、[ファイル(F)]から[新規作成(N)]-[プロジェクト(P)]を選択します。
[新しいプロジェクトの作成]ダイアログボックスのテンプレートから、[Visual Basic]の[Windows フォーム アプリケーション(.NET
Framework)]を選択し、[次へ(N)]ボタンをクリックします。
[新しいプロジェクトを構成します]ダイアログボックスから、作成するプロジェクトの名前と保存場所を指定し、
フレームワーク(F)項目から[.NET Framework 4.8]を選択し、[作成(C)]ボタンをクリックすると、プロジェクトが作成されます。
※上記は、Microsoft Visual Studio Professional 2022 (64ビット)の内容です。バージョンにより項目名やコマンド等が異なる場合があります。
シリアル通信を、Visual Basic .NETで行う場合、SerialPortクラスを利用する方法があります。
参考:[SerialPortクラス] (外部リンクであるため、予告なくリンクが変更されることがございます)
https://learn.microsoft.com/en-us/dotnet/api/system.io.ports.serialport?view=netframework-4.8
Visual Basic .NETデフォルト設定では、.NET FramewrokのSystem.IO.Ports.SerialPortコンポーネントがプロジェクトに組み込まれています。
メニューバーより、[表示(V)/デザイナー(D)]を選択すると、プロジェクトのメインフォームが表示されます。
ツールボックスウィンドウ内に組み込まれているコモンコントロールや、コンポーネントの一覧が表示されます。
ツールボックスウィンドウ内のコンポーネントの中に、SerialPortコンポーネントがあります。
このSerialPortコンポーネントを、フォーム上へドラッグ&ドロップすると、SerialPortコンポーネントが追加されます。
Visual Studioの[ソリューション エクスプローラーー]ウィンドウ内のツリービューで、[Form1.vb]の中に、SerialPort1 As SerialPortの有無が確認できます。
※上記は、Microsoft Visual Studio Professional 2022 (64ビット)の内容です。バージョンにより項目名やコマンド等が異なる場合があります。
Visual Basic .NET上のプロパティウィンドウで、プロジェクトに追加したSerialPortコンポーネントのプロパティ設定ができます。
また、プログラムコードで、各プロパティ値を参照したり代入することもできます。
SerialPortコンポーネント用のenumパラメータ(StopBit.oneや、Parity.Noneなど)を使う場合は、Importsステートメントを利用してSystem.IO.Ports名前空間を可視化してください。
詳細はサンプルプログラムのソースコードを参照してください。
プログラム例:
Imports System.IO.Ports 'Namespace for System.IO.Ports
Public Class Form1
・・・・
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
・・・・
SerialPort1.BaudRate = 9600 'ボーレート設定(Setting Baudrate.)
SerialPort1.DataBits = 8 'データビット設定(Setting Databits.)
SerialPort1.StopBits = StopBits.One 'ストップビット設定(Setting Stopbits.)
SerialPort1.Parity = Parity.None 'パリティ設定(Setting Paritybits.)
・・・・
End Sub
・・・・
End Class
Visual Basic .NET上のプロパティウィンドウで、プロジェクトに追加したSerialPortコンポーネントのイベント設定ができます。
イベント設定をすると、以下のようなイベント処理関数が自動作成されます。
自動生成されたイベント処理関数SerialPort1_DataReceived()に、必要なイベント処理プログラムを追記します。
詳細はサンプルプログラムのソースコードを参照してください。
プログラム例:
Imports System.IO.Ports 'Namespace for System.IO.Ports
Public Class Form1
・・・・
Private Sub SerialPort1_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
・・・・
End Sub
・・・・
End Class