
正文
vb.net检测串口 vbnet串口通信如何编写
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎样在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 '说明当一个运行时错误发生时vb.net检测串口,控件转到紧接着发生错误vb.net检测串口的语句之后vb.net检测串口的语句,并在此继续运行。访问对象时要使用这种形式而不使用 On Error GoTo。
comISP.PortOpen = True
If Err.Number 8002 Then '无效vb.net检测串口的串口号。这样可以检测到虚拟串口,如果用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
相关问答
Q1: vb.net 串口收发数据有问题
不知道你是不是用51单片机往串口发数据,是的话那是因为51的sbuf最多存放8个字节,所以你发12个字节会分成两次发完。还有在接收的时候最好定义好通信协议,比如加一个侦头,一个侦尾,通过这两个字节的内容来接收数据。
老兄,提问还是给点悬赏分嘛,不要吝啬哪点分,知识是无价的,你给得越多,回答你的人才会越多。
Q2: 在VB中怎么样检测串口是否接收到数据
假设你vb.net检测串口的控件名为mscom1
判断是否接到数据的语句为vb.net检测串口:
if mscom1.CommEvent = comEvReceive Then '如果comEvReceive为真,则数据接收到了
'传来的数值在 mscom1.input 中
text1.text= text1.text mscom1.input
End if
Q3: 怎样在vb中自动检测到可用串口号
没有任何办法单独检测串口是否连接你只能实时向串口发送测试数据,这个测试数据必须要能够被串口连接的设备识别并且有返回数据才行。如果上面的工作你都没问题,那么每个时间间隔,你都发送测试数据,如果你能接收到正确的返回值,自然就连接了,如果不能接收正确的返回值,那说明没连接设备。当然,如果你发送些无效的不能被串口已经连接的设备所理解并能给你回送数据的东西,也不会得到任何回应。
Q4: 怎样在vb中自动检测到可用串口号的具体程序代码?
j = 0\x0d\x0aFor i = 1 To 16 Step 1\x0d\x0aIf comISP.PortOpen = True Then '先关闭串口\x0d\x0acomISP.PortOpen = False\x0d\x0aEnd If\x0d\x0a\x0d\x0acomISP.CommPort = i\x0d\x0aOn Error Resume Next '说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。访问对象时要使用这种形式而不使用 On Error GoTo。\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 '生成串口选择列表\x0d\x0aEnd If\x0d\x0acomISP.PortOpen = False\x0d\x0aNext i\x0d\x0a\x0d\x0aIf j = 1 Then\x0d\x0acboPort.Text = "COM" j '自动打开可用的最小串口号\x0d\x0acomISP.CommPort = j\x0d\x0acomISP.PortOpen = True\x0d\x0acmdOpenCom.Caption = "关闭串口"\x0d\x0ashpCOM.FillColor = vbGreen\x0d\x0aIf Err.Number = 8005 Then '串口已打开,vbExclamation '\x0d\x0acomISP.PortOpen = False\x0d\x0acboPort.Text = ""\x0d\x0acmdOpenCom.Caption = "打开串口"\x0d\x0ashpCOM.FillColor = vbRed\x0d\x0aEnd If\x0d\x0aEnd If
关于vb.net检测串口和vbnet串口通信如何编写的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







