C# 中的 AT 命令

AT Commands in C#

我完全不知道如何在 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();

我做错了什么吗?

如有任何关于此查询的帮助或建议,我们将不胜感激,谢谢!

由于字符串转义序列,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;
}