用VB定制合路器
| Option Explicit Dim StrInComm1 As String '定義從串口1接收數據變量 Dim StrInComm2 As String '定義從串口2接收數據變量 Dim StrOut As String '定義發送數據變量 |
代碼段1、
| Private Sub Form_Load() Text3.Text = 1 '清零 StrInComm1 = "" StrInComm2 = "" StrOut = "" '打開端口 MSComm1.PortOpen = True MSComm2.PortOpen = True End Sub |
代碼段2、
| Private Sub Form_Unload(Cancel As Integer) '關閉端口 MSComm1.PortOpen = False MSComm2.PortOpen = False End Sub |
代碼段3、
| Private Sub Timer1_Timer() Text3.Text = Text3.Text + 1 '每100毫秒從串口接收一次數據 Dim IntPositionD As Integer '定義“0D”位置變量" StrOut = "" StrInComm1 = StrInComm1 + MSComm1.Input '得到串口1數據 StrInComm2 = StrInComm2 + MSComm2.Input '得到串口2數據 IntPositionD = InStr(StrInComm1, Chr(13)) '判斷從跟串口1中得到的數據是否有回車 If IntPositionD > 0 Then '如果有 StrOut = StrOut + Left(StrInComm1, IntPositionD) '取出左邊的數據 StrInComm1 = Right(StrInComm1, Len(StrInComm1) - IntPositionD) '取出右邊的數據 End If IntPositionD = InStr(StrInComm2, Chr(13)) ''判斷從跟串口1中得到的數據是否有回車 If IntPositionD > 0 Then StrOut = StrOut + Left(StrInComm2, IntPositionD) StrInComm2 = Right(StrInComm2, Len(StrInComm2) - IntPositionD) End If Text2.Text = StrOut '求出發送數據 Text1.Text = Text1.Text + Text2.Text End Sub |