C#中的AT命令

时间:2016-02-10 12:20:36

标签: c# serial-port at-command

我完全不知道如何在c#中使用AT命令,我已经阅读了一些关于AT命令的文章,但我无法在我的c#代码中实现它。此代码显示无错误,但仍然没有发送短信。

string number="00923*******";
string message="Hello World!";
SerialPort _serialPort = new SerialPort("COM6",9600);
_serialPort.Open();
Thread.Sleep(1000);
_serialPort.Write("AT+CMGF=1\r");
_serialPort.Write("AT+CMGF=\"" + number + "\"\r\n")

Thread.Sleep(1000);
_serialPort.Write(message + "\x1A");
Thread.Sleep(1000);
_serialPort.Close();

我有什么问题吗?

有关此查询的任何帮助或建议都会得到感谢,谢谢!

1 个答案:

答案 0 :(得分:2)

由于字符串转义序列,AT命令只会导致C#出现问题。使用ASCII代码发送命令。我想你正在尝试发送短信。所以试试:

string CellNumber ="00923*******";
string SMSMessage="Hello World!";

if (serialPort.IsOpen)
{
     this.serialPort.WriteLine(@"AT" + (char)(13));
     Thread.Sleep(200);
     this.serialPort.WriteLine("AT+CMGF=1" + (char)(13));
     Thread.Sleep(200);
     this.serialPort.WriteLine(@"AT+CMGS=""" + CellNumber + @"""" + (char)(13));
     Thread.Sleep(200);
     this.serialPort.WriteLine(SMSMessage + (char)(26));
     serialPort.Close();
     return true;
}