欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 口号 > 中自动获得串口号

中自动获得串口号

时间:2017-08-24 23:05

怎么自动检测可用串口号

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中自动检测到可用串口号的具体程序代码

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

如何实现串口号自动识别

有多种方法,但是都需要有一个软件,有的厂家已经有这样的软件了,你直接安装使用就可以了。

如果没有这样的软件你就需要自己写个小的软件实现这个功能了。

你可以向厂家要仪器的命令集和编程示例,尝试写一下,建议使用LV编程语言

怎样在vb中自动检测到可用串口号的具体程序代码

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

windows 应用程序 中的DataReceived事件怎么写啊我想获取串口的数据,接收数据那块不会写。

以下是一段 我自己用的接收处理代码其中的sp是已经声明好的SERIPORT。

sp.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);\\\/\\\/接收串口数据字符串 string watcher = null,send=null; \\\/\\\/串口数据接收事件 void sp_DataReceived(object sender, SerialDataReceivedEventArgs e) { watcher += sp.ReadExisting();\\\/\\\/这句就是接收内容代码,如果只需要接收后面就都不需要了。

{ if (watcher.Length % 8 == 0) { send = watcher; switch (watcher) { case I(001,1): \\\/\\\/dt1.Tag = 0; if(dt1.Tag==0) { sign = d_*_auto; dt1.IsEnabled = true; dt_streamwrite.IsEnabled = true; } \\\/\\\/sign = d_*_auto; \\\/\\\/dt1.IsEnabled = true; break; case I(001,0): sign = d_*_auto; sp.WriteLine(O(01,000,0)); dt_streamwrite.IsEnabled = true; dt1.IsEnabled = false; break; case I(002,1): \\\/\\\/dt2.Tag = 0; if (dt2.Tag == 0) { sign = d_*_auto; dt2.IsEnabled = true; dt_streamwrite.IsEnabled = true; } break; case I(002,0): sign = d_*_auto; sp.WriteLine(O(02,000,0)); dt2.IsEnabled = false; dt_streamwrite.IsEnabled = true; break; case I(003,1): \\\/\\\/dt3.Tag = 0; if (dt3.Tag == 0) { sign = d_*_auto; dt3.IsEnabled = true; dt_streamwrite.IsEnabled = true; } break; case I(003,0): sign = d_*_auto; sp.WriteLine(O(03,000,0)); dt3.IsEnabled = false; dt_streamwrite.IsEnabled = true; break; case I(004,1): \\\/\\\/dt4.Tag = 0; if (dt4.Tag == 0) { sign = d_*_auto; dt4.IsEnabled = true; dt_streamwrite.IsEnabled = true; } break; case I(004,0): sign = d_*_auto; sp.WriteLine(O(04,000,0)); dt4.IsEnabled = false; dt_streamwrite.IsEnabled = true; break; case I(005,1): \\\/\\\/dt5.Tag = 0; if (dt5.Tag == 0) { sign = d_*_auto; dt5.IsEnabled = true; dt_streamwrite.IsEnabled = true; } break; case I(005,0): sign = d_*_auto; sp.WriteLine(O(05,000,0)); dt5.IsEnabled = false; dt_streamwrite.IsEnabled = true; break; case I(006,1): sign = d_*_auto; dt1.Tag = 1; dt1.IsEnabled = false; dt_streamwrite.IsEnabled = true; break; case I(006,0): sign = d_*_auto; dt1.Tag = 0; dt_streamwrite.IsEnabled = true; break; case I(007,1): sign = d_*_auto; dt2.IsEnabled = false; dt_streamwrite.IsEnabled = true; dt2.Tag = 1; break; case I(007,0): sign = d_*_auto; dt2.Tag = 0; dt_streamwrite.IsEnabled = true; break; case I(008,1): sign = d_*_auto; dt3.IsEnabled = false; dt_streamwrite.IsEnabled = true; dt3.Tag = 1; break; case I(008,0): sign = d_*_auto; dt3.Tag = 0; dt_streamwrite.IsEnabled = true; break; case I(009,1): sign = d_*_auto; ; dt_streamwrite.IsEnabled = true; dt4.IsEnabled = false; dt4.Tag = 1; break; case I(009,0): sign = d_*_auto; dt4.Tag = 0; dt_streamwrite.IsEnabled = true; break; case I(010,1): sign = d_*_auto; dt5.IsEnabled = false; dt_streamwrite.IsEnabled = true; dt5.Tag = 1; break; case I(010,0): sign = d_*_auto; dt5.Tag = 0; dt_streamwrite.IsEnabled = true; break; } watcher = null; } } }

配置串口服务器时,是否需要选择允许自动获得ip地址?

动态域名方式:选择所需要配置的串口,进入“配置串口”,如果需要“动态域名服务”,将“选择获取远程主机IP方式:”设置为“2-通过域名解析获得远程主机IP地址”,

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片