'Button1を押したらポートオープン
'Button1を押したらポートオープン
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'シリアルポートを設定。
SerialPort1.PortName = SerialPortComboBox.Text
SerialPort1.BaudRate = SerialBpsComboBox.Text
Select Case SerialParityComboBox.Text
Form3.SerialPort1.Parity = IO.Ports.Parity.None
'データ長
SerialPort1.DataBits = SerialDataBitsComboBox.Text
'RTSラインを有効にする
SerialPort1.RtsEnable = True
'送信タイムアウト
SerialPort1.WriteTimeout = 3000
Try
'ポートをオープン
SerialPort1.Open()
'いざ送信
'SerialPort1.Write(Chr(&HC))
'ケーブルが外れた場合などのタイムアウトエラーなら、
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "シリアル通信エラー")
SerialPort1.Close()
Exit Sub
End Try
'送信バッファが空になるまで待って、
While SerialPort1.BytesToWrite > 0
My.Application.DoEvents()
End While
''''''''''''文字送信
'シリアルポート送信データをSJISに指定
SerialPort1.Encoding = System.Text.Encoding.GetEncoding(932)
Dim Settei As String
'送信文字代入
Settei = "A.1=" & vbCrLf
'いざ送信
SerialPort1.Write(Settei)
'送信バッファが空になるまで待って、
While SerialPort1.BytesToWrite > 0
My.Application.DoEvents()
End While
End Sub
'文字受信
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
Dim strDataReceived As String
Dim add As New AddDataDelegate(AddressOf AddData)
Try
strDataReceived = SerialPort1.ReadLine
Catch ex As Exception
strDataReceived = ex.Message
End Try
TextBox1.Invoke(add, strDataReceived)
End Sub
/////////
文字を送信した後に相手から帰ってきます。
送信した後の受信の部分ですが、これで正しいか教えて頂きたいです。
お礼
ありがとうございました。 解決しました。 プログラムの知識ももちろんのこと、コンピュータの知識なども勉強しなければならないという事を痛感しております。 またお世話になるかと思います。そのときはよろしくお願いします。