0
Arduino Unoの構造体配列に格納されたデータを作成してアクセスするのには苦労しています。Arduinoの構造体配列データへのアクセス
私はC++/Arduinoに慣れていませんが、私の頭の中では以下のように動作します。 ライトとstuffはすべて他のコードで動作しますが、light [i]でライトを変更しようとすると動作しません。
ポインタと関係するかもしれませんが、いつどこで使用するかはまだ分かりません。
struct light
{
byte k;
byte r;
byte g;
byte b;
};
typedef struct light Light;
Light l1;
Light l2;
Light l3;
Light lights[3] = {l1, l2, l3};
void setup() {
l1 = {0, 0, 0, 0};
l2 = {0, 0, 0, 0};
l3 = {0, 0, 0, 0};
}
void loop()
{
l1 = {0, 0, 0, 0};
l2 = {0, 0, 0, 0};
l3 = {0, 0, 0, 0};
//turn on different light every 3 seconds
int i;
if (millis() % 9000 < 3000) {
i = 0;
} else if ((millis() % 9000 >= 3000) && (millis() % 9000 < 6000)) {
i = 1;
} else {
i = 2;
}
lights[i] = {255, 255,0, 0};
// if this is uncommented l1 turns red
//l1 = {255,255,0,0}
//passes light data to DMX controller (works fine)
~turnOnlight(l1)
~turnOnLight(l2)
~turnOnLight(l3)
}
ありがとうございます。
Arduinoは実際にCではなくCを使用しています。 –
ご質問は、詳細を教えてください。コードにはどのような問題がありますか?エラーが出ますか?クラッシュ?予想外の結果ですか?他に何か?あなたがまだそれをしていないなら、[良い質問をする方法について](http://stackoverflow.com/help/how-to-ask)を読んでください。 –
@Someprogrammerdude oops、申し訳ありませんが編集されます。 arduino/c/C++の新機能 –