向串口发送命令时,它不起作用

时间:2017-08-22 18:36:01

标签: c#

我使用传真调制解调器获取字符串中的电话号码。我试图在串口发送命令。我在下面使用以下代码:

private static string PhoneNumber;
private SerialPort mySerialPort;

private void Form1_Load(object sender, EventArgs e)
{
mySerialPort = new SerialPort("COM3");
mySerialPort.BaudRate = 115200;
mySerialPort.Parity = Parity.None;
mySerialPort.StopBits = StopBits.One;
mySerialPort.DataBits = 8;
mySerialPort.Handshake = Handshake.None;

mySerialPort.Open();

mySerialPort.WriteLine("at#cid=1");//It doesnt recognise this line



mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);     
    }

    private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
    {
        SerialPort sp = (SerialPort)sender;
        string indata = sp.ReadExisting();

       messageBox.Show(indata);
    }

我没有接受任何错误,但问题是我输入它的命令不起作用。通常,如果它能够工作,它会给我一个电话号码,现在它没有任何显示。

如果我将在超级终端中键入此命令,它可以正常工作!所以我想我的代码有问题。

2 个答案:

答案 0 :(得分:2)

我在命令之后使用\ r \ n它完美无缺。谢谢你的建议!

这是我的代码:

    mySerialPort.WriteLine("at#cid=1\r");       

答案 1 :(得分:0)

您可能希望在打开端口并发送任何命令之前连接public static事件