如何:在 Visual Basic 中使用连接到串行端口的调制解调器拨号

此主题描述如何使用 My.Computer.Ports 在 Visual Basic 中使用调制解调器拨号。

通常,调制解调器连接到计算机上的其中一个串行端口。 为了使应用程序能够与调制解调器进行通信,应用程序必须将命令发送到相应的串行端口。

使用调制解调器拨号

  1. 确定调制解调器连接的串行端口。 此示例假定调制解调器在 COM1 上。

  2. 使用 My.Computer.Ports.OpenSerialPort 方法获取对端口的引用。 有关更多信息,请参见 OpenSerialPort

    Using 块允许应用程序即使在生成异常时也关闭串行端口。 所有操作串行端口的代码都应放在此代码块中,或放在 Try...Catch...Finally 块中。

    Using com1 As IO.Ports.SerialPort = 
            My.Computer.Ports.OpenSerialPort("COM1", 9600)
    End Using
    
  3. 设置 DtrEnable 属性以指示计算机已准备好接受由调制解调器传入的传输。

    com1.DtrEnable = True
    
  4. 使用 Write 方法通过串行端口向调制解调器发送拨号命令和电话号码。

    com1.Write("ATDT 555-0100" & vbCrLf)
    

示例

Sub DialModem()
    ' Dial a number via an attached modem on COM1.
    Using com1 As IO.Ports.SerialPort = 
            My.Computer.Ports.OpenSerialPort("COM1", 9600)
        com1.DtrEnable = True
        com1.Write("ATDT 555-0100" & vbCrLf)
        ' Insert code to transfer data to and from the modem.
    End Using
End Sub

此代码示例也可用作 IntelliSense 代码段。 在代码段选择器中,此代码示例位于**“连接和网络”**中。 有关更多信息,请参见 如何:插入 IntelliSense 代码段

编译代码

此示例需要引用 System 命名空间。

可靠编程

此示例假定调制解调器连接到 COM1。 建议您的代码允许用户从可用端口列表中选择所需的串行端口。 有关更多信息,请参见 如何:在 Visual Basic 中显示可用的串行端口

此示例使用 Using 块来确保应用程序关闭端口,即使在引发异常的情况下也关闭端口。 有关更多信息,请参见 Using 语句 (Visual Basic)

在此示例中,应用程序在使用调制解调器拨号之后断开与串行端口的连接。 实际上,您希望向调制解调器传输数据或从调制解调器接收数据。 有关更多信息,请参见 如何:在 Visual Basic 中从串行端口接收字符串

请参见

任务

如何:在 Visual Basic 中将字符串发送到串行端口

如何:在 Visual Basic 中从串行端口接收字符串

如何:在 Visual Basic 中显示可用的串行端口

参考

Ports

System.IO.Ports.SerialPort