如何通过GSM调制解调器中的AT-Commands + CNMA或+ CNMI在收到新消息时通过中断通知?

时间:2013-05-27 14:50:56

标签: winforms sms serial-port gsm at-command

我正在开发一个winform程序,我需要在其中发送和接收短信。

我发送短信没有问题,但我不知道如何通过GSM调制解调器收到新消息。当收到新消息时,我希望得到一个像中断或事件的确认。

据我所知,我应该对at+CNMIat+CNMA工作,但不幸的是我无法找到适合这些的示例或适当的参考。此外,我需要知道如何获取传递信息或如何处理它?<​​/ p>

2 个答案:

答案 0 :(得分:4)

AT + CNMI和AT + CNMA是规范3GPP TS 27.005中定义的标准AT命令,可用here.

有关成功交付的确认,请参阅本文档的第3.5.1节,即“发送消息,+ CMGS”的描述。

答案 1 :(得分:2)

当您在连接中定义新端口以进行连接时,您应该获得一个数据接收触发器。

SerialPort port = new SerialPort();
//...
port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);

并在那个触发器中:

private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
     SerialPort sp = (SerialPort)sender;
     MessageBox.Show(sp.ReadExisting()); //Data received
}