COM通信(VB.NET)

'変数
Private WithEvents SerialPort As System.IO.Ports.SerialPort
'シリアルポート設定
Me.SerialPort = New System.IO.Ports.SerialPort()
SerialPort.PortName = PortName
SerialPort.DataBits = 7
SerialPort.BaudRate = 2400
SerialPort.Parity = System.IO.Ports.Parity.None
SerialPort.StopBits = System.IO.Ports.StopBits.One
SerialPort.Handshake = System.IO.Ports.Handshake.None
SerialPort.Encoding = System.Text.Encoding.ASCII
'シリアルオープン
SerialPort.Open()
'イベントハンドラの設定
AddHandler SerialPort.DataReceived, AddressOf SerialPort_DataReceived
DataReceivedイベントでSerialPort_DataReceived()を実行する。
'動作命令待ちの無限ループ
While Not IsKillThread
 Evt.WaitOne()
End While
'シリアルポートクローズ
SerialPort.Close()
'取り込み関数作成
Private Sub SerialPort_DataReceived(sender As System.Object, e As System.IO.Ports.SerialDataReceivedEventArgs)
  Do While 0 < serial.BytesToRead
   buf.Add(serial.ReadByte())
  Loop
  STXのインデックスを求める
  ETXのインデックスを求める
  STX,ETXを除外して、メッセージを取り出す
タイトルとURLをコピーしました