如何在VB.NET中从串口获取消息
我已经有工作代码使用USB宽带套件发送信息在VB中的手机。现在我正在做另一种方法,即从宽带SIM卡获取信息。代码如下:如何在VB.NET中从串口获取消息,vb.net,serial-port,broadband,Vb.net,Serial Port,Broadband,我已经有工作代码使用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.
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将某些消息流式传输给您,这些消息本身无法流式传输。我认为您缺少启动消息流的命令。
你可能会读到这篇文章——这些都是用C写的,但基本原理是一样的
希望这有帮助