
怎么自动检测可用串口号
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
如何实现串口号自动识别
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
在CVI中如何去获得串口号
void GetPort() { Microsoft.Win32.RegistryKey hklm= Microsoft.Win32.Registry.LocalMachine; Microsoft.Win32.RegistryKey software11= hklm.OpenSubKey(HARDWARE); \\\/\\\/打开HARDWARE子健 Microsoft.Win32.RegistryKey software= software11.OpenSubKey(DEVICEMAP); Microsoft.Win32.RegistryKey sitekey= software.OpenSubKey(SERIALCOMM); \\\/\\\/获取当前子健 String []Str2= sitekey.GetValueNames;\\\/\\\/Str2=System.IO.Ports.SerialPort.GetPortNames();\\\/\\\/第二中方法,直接取得串口值 \\\/\\\/获得当前子健下面所有健组成的字符串数组 Integer ValueCount= sitekey.ValueCount; \\\/\\\/获得当前子健存在的健值 int i; for( i=0;i< ValueCount;i++) { comboBox1.Items.Add(sitekey.GetValue(Str2[i])); } }combobox1显示当前端口号
请问,cvi如何自动检测串口号
谢谢
您好,cvi的串口号是你在程序里自己设定的,不是自动检测的。
希望我的回答能让您满意,望采纳



