am在GSM调制解调器上工作。在我的项目中使用AT COMMAND和C#。 有时它的工作正常。有时不是。在断点期间,它的工作正常。 这是我的代码。
string Opertorname = "";
string PortStatus = "";
SerialPort _serialPort = new SerialPort(portName, 115200);
_serialPort.Parity = Parity.None;
_serialPort.DataBits = 8;
_serialPort.StopBits = StopBits.One;
_serialPort.Handshake = Handshake.XOnXOff;
string modemoutput= "";
_serialPort.DtrEnable = true;
_serialPort.RtsEnable = true;
_serialPort.NewLine = Environment.NewLine;
_serialPort.Encoding = Encoding.GetEncoding("iso-8859-1");
Thread.Sleep(200);
_serialPort.Open();
Thread.Sleep(200);
_serialPort.WriteLine("AT" + "\r");
Thread.Sleep(300);
modemoutput= _serialPort.ReadExisting().ToString();
if (modemoutput.Contains("OK"))
{
PortStatus = "Connected";
}
else
{
PortStatus = "Failed";
}
Thread.Sleep(1000);
_serialPort.WriteLine("AT+COPS?" + "\r");
Thread.Sleep(1000);
string inputData = "";
string inData = _serialPort.ReadExisting();
richTextBox1.Invoke((MethodInvoker)delegate
{
richTextBox1.Text += inData+"\n";
});
一段时间后,我恢复了如下所示的正确输出
AT+COPS?
+COPS: 0,0,"AirTel"
有时输出错误,如下所示
AT+õ
AT+þ
注意:我正在backgroundworker上运行此代码