主题:如何使用VB实现PC与多台单片机的串口通信
本人有使用VB实现PC与单个单片机串口通信的程序,但不知如何才能实现与多台单片机的串口通信,盼高手能够指点迷津,谢谢了
PC与单个单片机串口通信的VB程序:
Private Sub Form_Load()
Timer1.Enabled = False
MSComm1.InBufferSize = 40 '初始化串口
MSComm1.InBufferCount = 0
MSComm1.InputMode = comInputModeBinary '二进制方式
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.RThreshold = 1
MSComm1.InputLen = 0 '每次读入缓冲区所有字符
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True '打开串口
End If
End Sub
Private Sub Command1_Click()
Dim A,B
A =Check1(0).Value + Check1(1).Value * 2 + Check1(2).Value * 4 + Check1(3).Value * 8
B = Check1(4).Value + Check1(5).Value * 2 + Check1(6).Value * 4 + Check1(7).Value * 8
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True '打开串口
End If
MSComm1.OutBufferCount = 0
MSComm1.Output = Chr(CInt(B)) '向单片机发送数据
MSComm1.OutBufferCount = 0
MSComm1.Output = Chr(CInt(A))
End Sub
Private Sub MSComm1_OnComm()
If MSComm1.CommEvent = comEvReceive Then
Text1.Text = AscB(MSComm1.Input)
End If
MSComm1.InBufferCount = 0
End Sub
PC与单个单片机串口通信的VB程序:
Private Sub Form_Load()
Timer1.Enabled = False
MSComm1.InBufferSize = 40 '初始化串口
MSComm1.InBufferCount = 0
MSComm1.InputMode = comInputModeBinary '二进制方式
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.RThreshold = 1
MSComm1.InputLen = 0 '每次读入缓冲区所有字符
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True '打开串口
End If
End Sub
Private Sub Command1_Click()
Dim A,B
A =Check1(0).Value + Check1(1).Value * 2 + Check1(2).Value * 4 + Check1(3).Value * 8
B = Check1(4).Value + Check1(5).Value * 2 + Check1(6).Value * 4 + Check1(7).Value * 8
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True '打开串口
End If
MSComm1.OutBufferCount = 0
MSComm1.Output = Chr(CInt(B)) '向单片机发送数据
MSComm1.OutBufferCount = 0
MSComm1.Output = Chr(CInt(A))
End Sub
Private Sub MSComm1_OnComm()
If MSComm1.CommEvent = comEvReceive Then
Text1.Text = AscB(MSComm1.Input)
End If
MSComm1.InBufferCount = 0
End Sub