1

我已经有了使用 USB 宽带套件在 VB 中向手机发送消息的工作代码。现在我正在做另一种方式,即从宽带 SIM 获取消息,这是代码:

Imports System
Imports System.IO.Ports

Public Class ReadSMS

Dim SerialPort As New System.IO.Ports.SerialPort()

Private Sub ReadNow_Click(sender As Object, e As EventArgs) Handles ReadNow.Click

    If SerialPort.IsOpen Then
        SerialPort.Close()
    End If

    SerialPort.PortName = "COM4"
    SerialPort.BaudRate = 9600
    SerialPort.Parity = Parity.None
    SerialPort.StopBits = StopBits.One
    SerialPort.DataBits = 8
    SerialPort.Handshake = Handshake.None
    SerialPort.DtrEnable = True
    SerialPort.RtsEnable = True
    SerialPort.NewLine = vbCrLf
    SerialPort.ReadTimeout = 10000
    SerialPort.Open()

    If SerialPort.IsOpen() Then
        Try
            Debug.Print("START")
            Debug.Print(SerialPort.ReadExisting)
            Debug.Print("END")
        Catch ex As Exception
            MsgBox("read " & ex.Message)
        End Try
    Else
        MsgBox("Port not available")
    End If
End Sub
End Class

上面的代码不起作用。Debug.Print(SerialPort.ReadExisting)即使 SIM 卡有未读消息,此行也始终返回空值。如果你能建议我做最好的事情,那可以吗?谢谢,谢谢!

4

1 回答 1

0

您可以阅读 GSM 的方式是初始化或发送命令要求 GSM 流式传输您的一些消息,这些消息不能自己流式传输。我认为您缺少启动消息流的命令。您可能想阅读此http://arduino.cc/en/Tutorial/GSMExamplesReceiveSMS - 这些是 C 语言,但主体保持不变。

希望这有帮助

于 2014-06-02T11:06:44.947 回答