2014-01-25 33 views
0

我正在开发一个项目,在该项目中,我必须通过C#使用AT命令通过GSM调制解调器发送和接收SMS。我完成了发送部分,但无法从SIM卡读取短信。 我试过以下代码并得到以下回应: 好吧 好吧 错误。 读取短信的代码是:-`在C#中通过GSM调制解调器接收SMS#

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

取代您行 “this.serialPort.WriteLine(” AT + CMGL = ALL” +(字符)(26)) ;” (“AT + CMGL = \”ALL \“”+(char)(13));

我希望你不会得到错误。

0

this.serialPort.WriteLine("AT" + (char)(13)); 

替换行

this.serialPort.WriteLine("AT"); 

并改变2613