繁体   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