我完全不知道如何在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();
我有什么问题吗?
有关此查询的任何帮助或建议都会得到感谢,谢谢!
答案 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;
}