我正在开发一个项目,我必须使用AT命令通过C#中的GSM调制解调器发送和接收短信。我完成了发送部分,但无法从SIM卡读取短信。 我尝试了以下代码并获得以下响应: 确定 好 ERROR。 阅读短信的代码是:-`
public bool ReadSms()
{
//string buffer = string.Empty;
if (this.serialPort.IsOpen == true)
{
try
{
this.serialPort.WriteLine("AT");
Thread.Sleep(2000);
this.serialPort.WriteLine("AT+CMGF=1" + (char)(13));
Thread.Sleep(3000);
this.serialPort.WriteLine("AT + CMGL = ALL" + (char)(26));
Thread.Sleep(5000);
string a = this.serialPort.ReadExisting();
MessageBox.Show(a);
}
catch (Exception ex)
{
MessageBox.Show(ex.Source);
}
return true;
}
else
return false;
}
public void Opens()
{
if(this.serialPort.IsOpen == false)
{
this.serialPort.Open();
}
}
public void Closes()
{
if (this.serialPort.IsOpen == true)
{
this.serialPort.Close();
}
}
`
答案 0 :(得分:0)
将此行替换为“this.serialPort.WriteLine(”AT + CMGL = ALL“+(char)(26));”
用这个this.serialPort.WriteLine(“AT + CMGL = \”ALL \“”+(char)(13));
我希望你不会收到错误。
答案 1 :(得分:0)
替换
行this.serialPort.WriteLine("AT");
与
this.serialPort.WriteLine("AT" + (char)(13));
并将26
更改为13