簡體   English   中英

通過USB GSM調制解調器發送短信

[英]Sending SMS via USB GSM Modem

我正在嘗試開發一個模塊來從我的應用程序發送SMS。 問題是,當我向連接的手機發送AT命令時,我的應用程序停止響應。 我正在使用諾基亞6720C,並且已經安裝了PC套件。 它也出現在通訊端口中。

我的代碼如下。 我究竟做錯了什么?

Imports System
Imports System.IO.Ports
Imports System.Threading
Imports System.ComponentModel

Public Class Form1
Delegate Sub SetTextCallback(ByVal [text] As String)
Private Sub btnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend.Click

    With SerialPort1
        .PortName = "COM14"
        .DataBits = 8
        .Parity = IO.Ports.Parity.None
        .StopBits = StopBits.One
    End With

    SerialPort1.Open()
    SerialPort1.Write("AT" & vbCr)
    SerialPort1.Close()
End Sub

Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
    ReceivedText(SerialPort1.ReadExisting())
End Sub

Private Sub ReceivedText(ByVal [text] As String)
    'compares the ID of the creating Thread to the ID of the calling Thread
    If Me.TxtResponse.InvokeRequired Then
        Dim x As New SetTextCallback(AddressOf ReceivedText)
        Me.Invoke(x, New Object() {(text)})
    Else
        Me.TxtResponse.Text &= [text]
    End If
End Sub

好吧,在AT命令的末尾,您必須添加Chr(13)和Chr(10),您僅使用了Chr(13)(即“ vbCr”),請嘗試將其替換為vbCrLf(回車返回“ Chr(13) )”和換行符“ Chr(10)”)。 我認為這是問題所在(命令字符串不完整)。

如果問題仍然存在,請嘗試以下方法測試您的工作:

  1. 嘗試使用您的VB.NET代碼與GSM調制解調器(而非電話)進行通信。 如果工作正常,則電話可能不接受AT命令。

  2. 嘗試使用終端程序將AT命令發送到電話。 終端程序可以像“超級終端”或“ Maestro智能終端”(可以在Google上搜索)。

我希望這會有所幫助,祝你好運。

暫無
暫無

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

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