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

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

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

有串口控件MSComm控件

MSComm 控件示例

下面这个简单的例子演示了用调制解调器进行基本的串行通讯:

Private Sub Form_Load ()

' 保存输入子串的缓冲区

Dim Instring As String

' 使用 COM1。

MSComm1.CommPort = 1

' 9600 波特,无奇偶校验,8 位数据,一个停止位。

MSComm1.Settings = "9600,N,8,1"

' 当输入占用时,

' 告诉控件读入整个缓冲区。

MSComm1.InputLen = 0

' 打开端口。

MSComm1.PortOpen = True

' 将 attention 命令送到调制解调器。

' Chr$函数:返回 String,其中包含有与指定的字符代码相关的字符 。

MSComm1.Output = "ATV1Q0" &Chr$(13) ' 确保

' 调制解调器以"OK"响应。

' 等待数据返回到串行端口。

Do

DoEvents

Buffer$ = Buffer$ &MSComm1.Input

Loop Until InStr(Buffer$, "OK" &vbCRLF)

' 从串行端口读 "OK" 响应。

' 关闭串行端口。

MSComm1.PortOpen = False

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/11002537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存