VB.NETでシリアル通信を行う
(その3)

シリアルポートからデータを送信する

[送信]ボタンと押したときに、テキストボックスから送信する文字列を取り出してシリアルポートから送信します。

データ送信が完了した後に、二重送信を防止する為にテキストボックスをクリアします。

サンプルコードを以下に示します。


'****************************************************************************'
'*
'*  @brief  [送信]ボタンを押して、データ送信を行う.
'*
'*  @param  [in]    sender  イベントの送信元のオブジェクト.
'*  @param  [in]    e       イベント情報.
'*
'*  @retval なし.
'*
Private Sub SndButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SndButton.Click

    'シリアルポートをオープンしていない場合、処理を行わない.
    If SerialPort1.IsOpen = False Then
        Return
    End If

    'テキストボックスから、送信するテキストを取り出す.
    Dim data As String
    data = SndTextBox.Text

    '送信するテキストがない場合、データ送信は行わない.
    If String.IsNullOrEmpty(data) Then
        Return
    End If

    Try
        'シリアルポートからテキストを送信する.
        SerialPort1.Write(data)

        '送信データを入力するテキストボックスをクリアする.
        SndTextBox.Clear()
    Catch ex As Exception
        MsgBox( ex.Message )
    End Try

End Sub
	

シリアルポートから文字列を送信する

SerialPortクラスのWrite()メソッドを呼び出してシリアルポートから文字列を送信します。


    Public Sub Write ( text As String )
	

引数説明
text

送信する文字列。

バイナリデータを送信する場合、Write()メソッドの引数を以下のようにします。


    Public Sub Write( buffer As Byte(), offset As Integer, count As Integer )
	

引数説明
buffer

送信データを格納したバイト型の配列。

offset

送信を開始する配列の位置。

count

送信するバイト数。

当然のことですが、offset + count が確保した配列のサイズを超えないようにします。



Windowsは米国Microsoft Corporationの登録商標です。