我用combobox控件做的com口选择,但无论选择那个com口都可以正常运行(串口线连接的是com1口),那位能帮我看一下!谢了
Private Sub Combo1_Change() '下拉菜单,选择COM口
Dim COM As String
If Combo1.Text = "COM1" Then
COM = 1
ElseIf Combo1.Text = "COM2" Then
COM = 2
'ElseIf Combo1.Text = "COM3" Then
'MSComm1.CommPort = "COM3"
'ElseIf Combo1.Text = "COM4" Then
'MSComm1.CommPort = "COM4"
'ElseIf Combo1.Text = "COM5" Then
'MSComm1.CommPort = "COM5"
'ElseIf Combo1.Text = "COM6" Then
'MSComm1.CommPort = "COM6"
'ElseIf Combo1.Text = "COM7" Then
'MSComm1.CommPort = "COM7"
'ElseIf Combo1.Text = "COM8" Then
'MSComm1.CommPort = "COM8"
'ElseIf Combo1.Text = "COM9" Then
'MSComm1.CommPort = "COM9"
Else
End If
If MSComm1.PortOpen = True Then
MSComm1.CommPort = COM
End If
End Sub
Private Sub Combo1_Change() '下拉菜单,选择COM口
Dim COM As String
If Combo1.Text = "COM1" Then
COM = 1
ElseIf Combo1.Text = "COM2" Then
COM = 2
'ElseIf Combo1.Text = "COM3" Then
'MSComm1.CommPort = "COM3"
'ElseIf Combo1.Text = "COM4" Then
'MSComm1.CommPort = "COM4"
'ElseIf Combo1.Text = "COM5" Then
'MSComm1.CommPort = "COM5"
'ElseIf Combo1.Text = "COM6" Then
'MSComm1.CommPort = "COM6"
'ElseIf Combo1.Text = "COM7" Then
'MSComm1.CommPort = "COM7"
'ElseIf Combo1.Text = "COM8" Then
'MSComm1.CommPort = "COM8"
'ElseIf Combo1.Text = "COM9" Then
'MSComm1.CommPort = "COM9"
Else
End If
If MSComm1.PortOpen = True Then
MSComm1.CommPort = COM
End If
End Sub
If MSComm1.PortOpen = True Then
MSComm1.CommPort = COM
End If
修改为:
If MSComm1.PortOpen Then Msccomm1.PortOpen=False
msccomm1.commport=com
msccomm1.portopen=true在PortOpen=True时,是不能设置Commport的
MSComm1.PortOpen = False
End If
MSComm1.CommPort = COM
MSComm1.PortOpen = True
现在我又改了一些代码!combobox控件:
Private Sub Combo1_Change()
'If MSComm1.PortOpen Then MSComm1.PortOpen = False
If Combo1.Text = "COM1" Then
MSComm1.CommPort = 1
ElseIf Combo1.Text = "COM2" Then
MSComm1.CommPort = 2
ElseIf Combo1.Text = "COM3" Then
MSComm1.CommPort = 3
ElseIf Combo1.Text = "COM4" Then
MSComm1.CommPort = 4
ElseIf Combo1.Text = "COM5" Then
MSComm1.CommPort = 5
ElseIf Combo1.Text = "COM6" Then
MSComm1.CommPort = 6
ElseIf Combo1.Text = "COM7" Then
MSComm1.CommPort = 7
ElseIf Combo1.Text = "COM8" Then
MSComm1.CommPort = 8
ElseIf Combo1.Text = "COM9" Then
MSComm1.CommPort = 9
End If
End Sub
打开串口按键:
Private Sub Command5_Click()
MSComm1.PortOpen = True
Command5.Enabled = False
End Sub初始化:
Form1.AutoRedraw = True
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputLen = 0 ' 设置或返回一次从接收缓冲区中读取字节数,0表示一次读取所有数据
MSComm1.InBufferCount = 0
MSComm1.OutBufferCount = 0
MSComm1.RThreshold = 1 ' 每个字符到接收缓冲区都触发接收事件
MSComm1.InputMode = comInputModehexadecimal '采用二进制传输
'If MSComm1.PortOpen = False Then
'MSComm1.PortOpen = True
'End If