2

以前にも似たような質問をしたのですが、求めていた回答と違っていたので、今回は詳しく説明します。

初めてC言語を使ってマイコンをプログラミングしています。ユーザーが色の組み合わせ(RGB色)を選択してから、カラーコードをマイクロコントローラーに送信できるAndroid APPがあります。マイクロコントローラーは、選択された内容に基づいてライトを表示します。

私がやろうとしているのは、一度に 4 桁ずつ数字を読み取れるようにすることです。送信された番号が 2005001000200 の場合、次のようにします。

最初の桁を抽出し、mode という変数に保存します..次に..次の 4 桁を抽出し、red という変数に保存します..次に... 次の 4 桁を抽出し、green という変数に保存します。 .次に.. 最後の 4 桁を抽出し、blue という変数に保存します。したがって、出力は次のようになります...

モード = 2

赤 = 0050

緑 = 0100

青 = 0200

私がやろうとしていることを示す例を見ることができれば、それは素晴らしいことです. 初めてマイクロコントローラをプログラミングしていることを覚えておいてください。どうもありがとう!

4

3 に答える 3

1

値が格納されていると仮定するとs、次のことができます:

int mode, r, g, b, n;

if((4 == sscanf(s, "%1d%4o%4o%4o%n", &mode, &r, &g, &b, &n)) && (13 == n)) {
    // Correctly scanned mode, red, green, and blue
    // Do what you need to do...
} else {
    // Failed to scan
    // Handle error...
}
于 2013-05-02T03:41:57.390 に答える