怎样在vb中自动检测到可用串口号
发布网友
发布时间:2022-04-30 15:36
我来回答
共1个回答
热心网友
时间:2022-06-26 12:07
j = 0
For i = 1 To 16 Step 1
If comISP.PortOpen = True Then '先关闭串口
comISP.PortOpen = False
End If
comISP.CommPort = i
On Error Resume Next '说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。访问对象时要使用这种形式而不使用 On Error GoTo。
comISP.PortOpen = True
If Err.Number <> 8002 Then '无效的串口号。这样可以检测到虚拟串口,如果用Err.Number = 0的话检测不到虚拟串口
If j = 0 Then
j = i
End If
cboPort.AddItem "COM" & i '生成串口选择列表
End If
comISP.PortOpen = False
Next i
If j >= 1 Then
cboPort.Text = "COM" & j '自动打开可用的最小串口号
comISP.CommPort = j
comISP.PortOpen = True
cmdOpenCom.Caption = "关闭串口"
shpCOM.FillColor = vbGreen
If Err.Number = 8005 Then '串口已打开,vbExclamation '
comISP.PortOpen = False
cboPort.Text = ""
cmdOpenCom.Caption = "打开串口"
shpCOM.FillColor = vbRed
End If
End If
怎样在vb中自动检测到可用串口号的具体程序代码?
\x0d\x0acomISP.PortOpen = True\x0d\x0aIf Err.Number 8002 Then '无效的串口号。这样可以检测到虚拟串口,如果用Err.Number = 0的话检测不到虚拟串口\x0d\x0aIf j = 0 Then\x0d\x0aj = i\x0d\x0aEnd If\x0d\x0acboPort.AddItem "COM" & i '生成串口选择列表...
如何用VB检测PC机可用的串口号,并将这个号写入combo中……
拉个comm控件上来,一个文本框 on error goto 10 for i= 1 to 100 '一般pc机肯定不到100个串口 text1.text=trim(str(i))MSComm1.CommPort = text1.text Combo1.AddItem text1.text 10 next i 原理就是如果是不存在的端口,则执行MSComm1.CommPort = text1.text一句必然出错因为找不到端口...
vb串口通信中如何自动寻找并打开未被占用的COM口?
简单的方法是做一个for循环,从com1到com128 判断MSComm1.PortOpen 的返回值是否为True,等于True就打开,等于False,要么端口被占用,要么不存在。一般来说,系统中不会有128个物理串口,高级一点的做法是通过查询注册表,在这个键值下HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm查询串口设备,API函...
怎样用VB来判断串口是否存在,是否被占用?是否有数据输入?
Print "可用Com号= "; a MSComm1.PortOpen = False End If Next Exit Sub uerror:Print "出错或占用Com号= "; a Resume Next End Sub 如要探测某个COM口是否有数据输入则需在打开某个串口后,用OnComm事件来接收.
VB用API怎么检测存在的串口被占用跟不存在的串口
无需API,用下列代码可判断出错或占用Com号[b][/b]:VBScript code Option Explicit Dim a As Integer Private Sub Command1_Click()On Error GoTo uerror For a = 1 To 16 MSComm1.CommPort = a MSComm1.PortOpen = True If MSComm1.PortOpen = True Then Print "可用Com号= "; a MSC...
问个VB高手MScomm的问题
你打开的串口号不对,你可以自己检查下,是否打开的串口号是你电脑所存在的串口号,而且该串口没被其他软件占用 看来你的VB知识基础还不够啊,我的意思是你在打开串口前先设置一下打开的串口号:MSComm1.CommPort=1 这就是打开串口1。还有你应该根据你对串口的需要进行设置,那就比较麻烦了,这里...
怎么设置com口让VB制作的软件界面能接收到串口调试助手发来的数据...
1)硬件实现 a.电脑必须有两个COM口 b.将两串口用串口通信数据线连接。c.运行VB制作的软件打开一个COM口,另一个运行串口调试助手。进行通信调试。下图是一个VB制作的应用软件与它配对的下位机串口调试软件的运行状态图。2)软件实现 a.下载安装VSPD XP 5.1软件,运行VSPD XP 5.1软件。b.点Add...
VB中如何通过组合框来选择串口通信端口号
简单的很啊 假设你使用的通讯控件mscomm1 你那个端口选择是combo1那么代码如下 mscomm1.commprot=val(combo1.text)‘如果需要截取字段的话 例如 你combo1.text显示的是 COM1 COM2 ...代码如下mscomm1.commprot=Val(Right(Combo1.Text, InStrRev(Combo1.Text, "C")))'这样截取出来的结果就是 1 ...
在VB中使用MSCOmm控件,如何判断串口号无效?
vbOkOnly + vbCritical, "串口错误"End IfExit SubResume NextEnd Sub在窗体上放一个MSComm1的控件,然后在程序中就可以使用上面的代码了。这段代码演示了一个无效串口号的运行效果。你可以将上面的代码改成自己所需要的代码,或者做得更通用一些~~~例如,设置一个输入参数,以及返回结果。
VB 串口接收数据类型,如下位机发送x=128,怎样在上位机读取对应的数据呢...
vb串口控件默认是asc码,你传送的数据必须是对应编码才能识别,否则就是你看不懂的有效码,不信你发送50H接收应该是字母P,当然,这个控件也可设为二进制接收,单片机发的0A,接收的数据为10,然后将这个数变换下就可得原值了。