用VB做的合路器
發表于:2007-07-14來源:作者:點擊數:
標簽:
Option Explicit Dim StrInComm1 As String '定義從串口1接收數據變量 Dim StrInComm2 As String '定義從串口2接收數據變量 Dim StrOut As String '定義發送數據變量 Private Sub Form_Load() Text3.Text = 1 '清零 StrInComm1 = StrInComm2 = StrOut = '打
Option Explicit
Dim StrInComm1 As String '定義從串口1接收數據變量
Dim StrInComm2 As String '定義從串口2接收數據變量
Dim StrOut As String '定義發送數據變量
Private Sub Form_Load()
Text3.Text = 1
'清零
StrInComm1 = ""
StrInComm2 = ""
StrOut = ""
'打開端口
MSComm1.PortOpen = True
MSComm2.PortOpen = True
End Sub
Private Sub Form_Unload(Cancel As Integer)
'關閉端口
MSComm1.PortOpen = False
MSComm2.PortOpen = False
End Sub
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
原文轉自:http://www.anti-gravitydesign.com