怎样在vb中自动检测到可用串口号

2019-03-24 16:56发布

单片机的串口与VB通信,怎样在vb中自动检测到可用串口号,比如我的电脑串口号是com6那么一上电通信就自动选择com6?
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
liutogo
2019-03-25 04:37
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

附件里面是我之前做的VB串口检测,没记错的话应该还可以打开。现在电脑没VB,无法验证,请见谅

一周热门 更多>