2014-01-25 35 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