SerialPort没有输入。它把它扔回我身边!

时间:2010-05-07 17:49:49

标签: c# sms serial-port gsm

当我尝试向我的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;

2 个答案:

答案 0 :(得分:1)

要验证的一些事情......

调制解调器的NewLine属性是否正确?默认为换行符。

RtsEnableDtrEnable值怎么样?

Handshake属性是否正确?

答案 1 :(得分:1)

把它扔回去? ATE0将禁用它,以回显您发送的内容。

您可能还应该发出ATQ0来告诉设备您想要的回复,否则它不会发出OK。 (后续的ATV1会使它们变得冗长)也会发出AT+CMEE=1来激活错误回复。

还有existing libraries设计用于与GSM调制解调器配合使用,可以省去麻烦,如果您想自己动手port monitor,可以通过向您展示自己的头发来节省您的头发发送/接收的内容。