Private Sub Form_Load()
On Error GoTo errline '如果出错,进入错误处理程序
Dim i As Integer '定义可访问的串口总数
Dim Counter As Integer '用于记录经检查可以使用的串口号
'=======================初始化串口列表====================
Counter = 0 '计数器清零
For i = 1 To 16 '循环检查可能存在的16个串口
MSComm1.CommPort = i '依次打开每个串口
MSComm1.PortOpen = True '打开串口
If MSComm1.PortOpen = True Then '如果打开成功,说明该串口可用
MSComm1.PortOpen = False '检查完毕,关闭串口
Combo1(0).AddItem "COM" + CStr(i), Counter '将可用串口增加到组合框
Counter = Counter + 1 '计数器加1
End If
Next i
Combo1(0).ListIndex = 0 '将第一个可用串口设为默认值
'=======================初始化波特率列表====================
Dim Baud As Integer
Counter = 0 '计数器清零
Baud = 1200
While Baud <= 115200 '依次列出1200-15200的波特率
Combo1(1).AddItem CStr(Baud), Counter
Baud = Baud * 2
Wend
Exit Sub
errline:
If Err.Number = 8005 Then '若有的串口已被其他程序打开,也应该将其加入组合框内
Combo1(0).AddItem "COM" + CStr(i), Counter '将可用串口增加到组合框内
Counter = Counter + 1 '计数器加1
End If
Resume Next '回到出错入口处,继续执行巡检串口程序
End Sub
On Error GoTo errline '如果出错,进入错误处理程序
Dim i As Integer '定义可访问的串口总数
Dim Counter As Integer '用于记录经检查可以使用的串口号
'=======================初始化串口列表====================
Counter = 0 '计数器清零
For i = 1 To 16 '循环检查可能存在的16个串口
MSComm1.CommPort = i '依次打开每个串口
MSComm1.PortOpen = True '打开串口
If MSComm1.PortOpen = True Then '如果打开成功,说明该串口可用
MSComm1.PortOpen = False '检查完毕,关闭串口
Combo1(0).AddItem "COM" + CStr(i), Counter '将可用串口增加到组合框
Counter = Counter + 1 '计数器加1
End If
Next i
Combo1(0).ListIndex = 0 '将第一个可用串口设为默认值
'=======================初始化波特率列表====================
Dim Baud As Integer
Counter = 0 '计数器清零
Baud = 1200
While Baud <= 115200 '依次列出1200-15200的波特率
Combo1(1).AddItem CStr(Baud), Counter
Baud = Baud * 2
Wend
Exit Sub
errline:
If Err.Number = 8005 Then '若有的串口已被其他程序打开,也应该将其加入组合框内
Combo1(0).AddItem "COM" + CStr(i), Counter '将可用串口增加到组合框内
Counter = Counter + 1 '计数器加1
End If
Resume Next '回到出错入口处,继续执行巡检串口程序
End Sub
附件里面是我之前做的VB串口检测,没记错的话应该还可以打开。现在电脑没VB,无法验证,请见谅
非常感谢你能不能给个完整的程序
初始化波特率列表 Dim Baud As Integer 改成 Dim Baud As Long
MSComm1这个控件是用picturebox代替的,换一下控件
一周热门 更多>