作成しているプログラムにATコマンドを使用していますが、sscanf()関数を使用してそれらを解析するのに問題があります。
たとえば、次のコマンドを実行すると、次のようになります。
"AT\r\r\nOK\r\n"
*最初の呼び出しで、「AT」部分のみを取得し、次の「\ r」文字を破棄して、その時点までに読み取られた文字数を確認します。* 2回目の呼び出しでは、「OK」の部分のみを取得し、「OK」文字列の前後にある「\ r \ n」文字を破棄して、その時点までに読み取られた文字数を確認します。
次のsscanf関数呼び出しを作成しました。
index = 0;
sscanf(buffer + index, "%*[\r\n]%[^\r]\r%*[\n]%n", new_buffer, &count);
index += count;
要求した文字列が返されないのはなぜですか?私は何が間違っているのですか?
よろしくお願いします。