1

当我尝试向我的 GSM 调制解调器写入 AT 命令时,它似乎没有接受该命令。我已经使用 PuTTY 来检查命令词,确实如此。我检查了端口是否正在打开,确实如此。

我可能做错了什么?

注意:“lol”部分用于调试目的。;3

SerialPort sp = new SerialPort("COM3");
sp.BaudRate = 9600;
sp.DataBits = 8;
sp.StopBits = StopBits.One;
sp.Parity = Parity.None;
sp.Open();
if (sp.IsOpen == false)
{
    sp.Open();
}
Thread.Sleep(1000);
sp.WriteLine("AT+CMGF=1");
Thread.Sleep(1000);
string lol = sp.ReadExisting();
sp.Close();
return lol;
4

2 回答 2

1

Some things to verify...

Is the NewLine property correct for your modem? The default is a line feed.

How about the RtsEnable and DtrEnable values?

Is the Handshake property correct?

于 2010-05-07T18:16:39.003 回答
1

扔回去?anATE0将禁用它来回显您发送的内容。

您可能还应该发出 anATQ0来告诉设备您想要响应,否则它不会发出OKs。(后续ATV1会使它们变得冗长)还发出 aAT+CMEE=1来激活错误响应。

还有一些现有的库旨在与 GSM 调制解调器一起使用,这将为您省去麻烦,如果您想自己动手,端口监视器将通过向您准确显示发送/接收的内容来省去您的麻烦。

于 2010-05-08T11:06:28.183 回答