Arduinoで構造体をつかう

引数が長くなったときに構造体使いたくなったんだけど、公式リファレンスがわかりづらかった && 公式以外にちゃんとした情報がなかったので、がんばった記録を投稿しておく。

#include "types.h"

void setup() {
  Serial.begin(9600);
  RGB color = getBlue();
  Serial.println(color.b);
}

void loop() {
}

RGB getBlue() {
  RGB color = { 0, 0, 255 };
  return color;
}
#include <Arduino.h>

struct RGB {
  byte r;
  byte g;
  byte b;
};

RGB getBlue();

IDEの新しいタブから適当な名前のヘッダーファイルを作成して、そこに構造体の定義と構造体を返り値または引数のデータ型に持つ関数の宣言をする。

関数で構造体を使わないのであれば、こうする必要はなかったはず。

なぜこうするのかはまだよくわかっていない。


参考