Imports System.IO.Ports
Dim rs232 As SerialPort
rs232 = New SerialPort(Combo.SelectedItem.ToString, 9600, Parity.None, 8, StopBits.One)
If Not rs232.IsOpen Then
Try
rs232.Open()
Catch ex As Exception
MsgBox("不打开")
End Try
If rs232.IsOpen Then MsgBox("open")
Else
MsgBox("不能打开")
End If
Private Sub btnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend.Click
slpCom.open()
If txtSendData.Text = "" Then
Exit Sub
End If
If slpCom.IsOpen = True Then
slpCom.WriteLine(txtSendData.Text)
Else
MsgBox("打开串口")
End If
slpCom.close()
End Sub
Private Sub slpCom_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles slpCom.DataReceived
Dim readBuffer(4096) As Byte
Dim intLength As Integer = slpCom.Read(readBuffer, 0, 4096)
Dim bteData(intLength - 1) As Byte
Array.Copy(readBuffer, 0, bteData, 0, intLength - 1)
Me.Invoke(interfaceUpdateHandle, bteData)
End Sub
Private Sub Form_Load()
MSComm1.Settings = "115200,N,8,1" '设置串口参数
MSComm1.CommPort = 1 '选择串口1
MSComm1.InputMode = comInputModeBinary '设置接收模式为二进制
MSComm1.RThreshold = 1
MSComm1.PortOpen = True '打开串口
MSComm1.InBufferCount = 0 '清空发送缓冲区
End Sub
Private Sub MSComm1_OnComm()
Dim i%
Dim inbyte() As Byte
Select Case MSComm1.CommEvent
Case comEvCD
Case comEvCTS
Case comEvDSR
Case comEvRing
Case comEvReceive
'接收事件
Buf = ""
MSComm1.InputLen = 0 'read all input buffer
inbyte = MSComm1.Input '接受数据,接收的数据在mscomm1.input中
'这里根据你的数据格式自己设定
For i = LBound(inbyte) To UBound(inbyte)
Buf = Buf + Hex(inbyte(i))
Next i
Dim com As New System.IO.Ports.SerialPort(Me.components)
Dim s() As Byte = {&HAA, &H11, &HFE, &H1, &H1, &H11}
com.Open()
com.Write(s, 0, s.Length)
com.Close()