在VB中如何实现多串口同时工作?
我有六台电子秤,都是采用了COM串口与电脑进行实时数据采集(因为我电脑上装了一多串口卡)。现在我有一个VB程序可以从任何一个串口中采集数据,也可以先打开6个程序,同时采集...
我有六台电子秤,都是采用了COM串口与电脑进行实时数据采集(因为我电脑上装了一多串口卡)。现在我有一个VB程序可以从任何一个串口中采集数据,也可以先打开6个程序,同时采集6个串口的数据。
现在问题是,该如何编程,才能在同一个程序里,将6个串口数据进行数据处理?
以下是我的代码,请各位大侠帮忙提出具体解决办法,谢谢:
Private Sub Form_Load() '主窗体程序
MSComm1.CommPort = 1 '设串口号为com1
MSComm1.Settings = "4800,n,8,1 "
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeText
MSComm1.RThreshold = 1
If MSComm1.PortOpen Then MSComm1.PortOpen = False
MSComm1.PortOpen = True '打开串口
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
strss = strss & MSComm1.Input '将接收到的数据压入strss变量中
If Right(strss, 2) = vbCrLf Then '如果strss右边两个字符是回车+换行的话 1
'中间部份代码省略
End If '1
End Select
End Sub 展开
现在问题是,该如何编程,才能在同一个程序里,将6个串口数据进行数据处理?
以下是我的代码,请各位大侠帮忙提出具体解决办法,谢谢:
Private Sub Form_Load() '主窗体程序
MSComm1.CommPort = 1 '设串口号为com1
MSComm1.Settings = "4800,n,8,1 "
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeText
MSComm1.RThreshold = 1
If MSComm1.PortOpen Then MSComm1.PortOpen = False
MSComm1.PortOpen = True '打开串口
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
strss = strss & MSComm1.Input '将接收到的数据压入strss变量中
If Right(strss, 2) = vbCrLf Then '如果strss右边两个字符是回车+换行的话 1
'中间部份代码省略
End If '1
End Select
End Sub 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询