簡體   English   中英

如何從VB.NET中的串行端口獲取消息

[英]How to get messages from Serial Port in VB.NET

我已經有了使用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

上面的代碼不起作用。 即使SIM卡有未讀消息,此行也始終返回空值Debug.Print(SerialPort.ReadExisting) 如果您會建議我做最好的事情,那可以嗎? 謝謝,謝謝!

讀取GSM的方式是初始化或發送命令以要求GSM向您發送一些消息,而這些消息無法單獨發送。 我認為您缺少啟動消息流的命令。 您可能想要閱讀以下內容:http ://arduino.cc/en/Tutorial/GSMExamplesReceiveSMS -它們在C語言中,但其原理保持不變。

希望這個幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM