我看到这个论坛上也有类似的话题,但是我根本不明白如何发送AT命令并接收响应。(几个月前我开始用 C# 编程。我仍然是 n00b,但我正在努力学习它......)。
我需要创建仅通过 GSM USB 加密狗接收 SMS 消息的应用程序。到目前为止,我设法创建了可以通过可用的 COM 端口识别和连接调制解调器的应用程序。现在我需要推送 AT 命令来接收消息并将它们显示到文本框中。我想知道是否有人可以花几分钟时间向我解释这个过程,并用注释修改我的代码,以便我最终可以学习和理解如何使用 serialPort 进行通信。我需要知道的是,当发送 SMS 时,GSM 调制解调器是否会接收和存储这条消息(并且它会一直存储到我发送一些读取它们的请求或者我是否需要发送一些会触发 GSM 调制解调器收集消息的事件来自 ISP)?如何推送 AT 命令并接收它们的响应(我只知道这是通过使用 serialPort 对象完成的,但没有
这是我的接收方法(顺便说一句,我被困住了...... :))
private void receiveMessage()
{
//commclass is only a class for getting COM port, baud rate and timeout
CommClass cc = new CommClass();
cc.setParameters();
serialPort1.PortName = cc.getPort();
serialPort1.BaudRate = cc.getBaud();
serialPort1.ReadTimeout = cc.getTimeout();
serialPort1.Open();
if (!serialPort1.IsOpen)
{
//MessageBox is written in Croatian language, it is only an alert to check the configuration because port is not opened...
MessageBox.Show("Modem nije spojen, molimo provjerite konfiguraciju...!");
//timer1.Stop();
}
else
{
//this.label2.Text = serialPort1.PortName;
//this.label2.Visible = true;
//this.label3.Visible = true;
//this is where I need to place a code for receiving all SMS messages
this.serialPort1.Write("AT+CMGL=\"REC UNREAD\"");
}
serialPort1.Close();
}
如果有人愿意提供帮助,我将不胜感激,否则我将不得不自己处理(可能花了几个小时/几天,直到我弄清楚......)
在这两种情况下,无论如何,谢谢你......干杯。