我看到这个论坛上有类似的帖子,但我不知道如何发送AT指令并接收响应。(我几个月前开始学习C#编程,虽然还是新手,但我在努力学习...)
我需要创建一个应用程序,它只能通过GSM USB dongle接收短信消息。到目前为止,我已经成功创建了一个应用程序,可以识别和连接可用的COM端口的调制解调器。现在我需要推送AT指令以接收消息并在textBox中显示它们。我想知道是否有人可以花几分钟向我解释这个过程,并修改我的代码并加上注释,以便我最终学会和理解如何使用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();
}
如果有人愿意帮忙,我会非常感激,如果没有,我就只能自己解决了(可能要花费几个小时/几天才能弄清楚...)无论如何,还是谢谢你。祝好!