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 に答える