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