タイトル : 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 '********************************************************* |