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 が確保した配列のサイズを超えないようにします。