0

我正在用 C# 学习 AT 命令。

public static void Main(string[] args)
    {

        String command = "AT";
        SerialPort serialPort = new SerialPort
                                    {
                                        PortName = "COM4",
                                        BaudRate = 9600,
                                        DataBits = 8,
                                        Parity = Parity.None,
                                        ReadTimeout = 300,
                                        WriteTimeout = 300,
                                        StopBits = StopBits.One,
                                        Handshake = Handshake.None
                                    };
        serialPort.Open();
        serialPort.WriteLine(command + "\r");
        String outPut = serialPort.ReadExisting();

        Console.WriteLine(outPut);


    }

我确定PortName。我在程序中做错了什么?

提前致谢 :)

4

1 回答 1

1

很难说这是否是您唯一的问题,但SerialPort.ReadExisting()只读取立即可用的数据(即在流和缓冲区中)。

您的程序将数据写入调制解调器,并ReadExisting()立即调用。ReadExisting将在没有可用数据的情况下立即返回,因为调制解调器没有时间响应。

于 2013-03-06T19:43:56.117 回答