C# 中的 AT 命令

本文关键字:命令 AT 中的 | 更新日期: 2023-09-27 18:34:05

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

我做错了什么吗?

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

C# 中的 AT 命令

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;
}