2014-03-13 10 views
1

나는 VB에서 휴대폰으로 메시지를 보내려면 USB 광대역 키트를 사용하는 작업 코드가 이미 있습니다. 이제 광대역 SIM에서 메시지를 받고있는 다른 방법은 코드입니다.VB.NET의 직렬 포트에서 메시지를받는 방법

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)의 빈 값을 반환합니다. 나에게 최선의 제안을하면 괜찮을까요? 감사 감사!

답변

0

GSM을 읽을 수있는 방법은 초기화하거나 GSM에 메시지를 스트리밍하도록 명령을 보내는 것입니다. 메시지 자체는 스트리밍 할 수 없습니다. 메시지 흐름을 초기화하라는 명령이 누락 된 것 같습니다. 당신은 이것을 http://arduino.cc/en/Tutorial/GSMExamplesReceiveSMS이라고 읽을 수 있습니다 - 이것들은 C로되어 있지만, 주체는 동일하게 유지됩니다.

희망 도움말