tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^5: VB2005で、シリアル通信について
投稿日: 2009/04/28(Tue) 10:05
投稿者AMI
現在、送信ボタンを設けて、送信時には、下記コマンドを発行して、
受信まで、いくのですが、連続して、送信したい場合、
'*********************************************************
       Try
            '送信コマンド発行
            _com.WriteLine(txtSendData.Text)
            Call AddMessage("[SND]" + txtSendData.Text)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
'*********************************************************

何回も下記のように処理していますが、おそらく、一つの送信に対しての受信が
あるとおもうのですが、これはどのように取得すればいいのでしょうか?
下記のように処理をすると、不定期に受信イベントが発生して、
どの送信の受信なのかが区別がつきません。

'*********************************************************
   '--------------------------------------------------------------------------------
    '「文字列送信」ボタンクリック
    '--------------------------------------------------------------------------------
    Private Sub btnSendData_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles btnSendData.Click

       Try
            '送信コマンド発行
            _com.WriteLine(txtSendData.Text)
            Call AddMessage("[SND]" + txtSendData.Text)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try

        Try
            '送信コマンド発行
            _com.WriteLine(txtSendData.Text)
            Call AddMessage("[SND]" + txtSendData.Text)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try


        Try
            '送信コマンド発行
            _com.WriteLine(txtSendData.Text)
            Call AddMessage("[SND]" + txtSendData.Text)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub
'*********************************************************



ちなみに下記がデータ受信処理になります。

'*********************************************************

    '--------------------------------------------------------------------------------
    'データ受信イベント
    '--------------------------------------------------------------------------------
    Private Sub _com_DataReceived(ByVal sender As Object, _
                                  ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) _
                                  Handles _com.DataReceived

        Dim addmsg As New AddMessageDelegate(AddressOf AddMessage)

        Dim sz As String


        If e.EventType = SerialData.Chars Then
            Try
                sz = Trim(_com.ReadTo(vbCr))
            Catch ex As Exception
                sz = String.Empty
            End Try

    End Sub
'*********************************************************

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。