私はArduino#define
をプログラミングしており、関数に渡されるバイト配列を設定するためにステートメントを使用したいと考えていEthernet.begin()
ます。現時点では、次のコードを使用しており、すべてが期待どおりに機能します。
#define MAC_ARRAY { 0x43, 0xA3, 0xDA, 0x0D, 0xF5, 0xA5 }
void setup() {
byte mac[] = MAC_ARRAY;
if (Ethernet.begin(mac) == 0) {
...
}
}
上記のコードでわかるように、値byte mac[] = MAC_ARRAY;
を使用するたびに、ソース コード全体で宣言する必要がありMAC_ARRAY
ます。ただし、それを述べることは避けたいと思います(変数がインスタンス化されるため、「長い道のりで」メモリの問題が発生する可能性があるとも思います)、何らかの形で適切なものを関数に直接mac[]
渡します。MAC_ARRAY
Ethernet.begin()
出来ますか?その場合、どのように#define MAC_ARRAY ...
ステートメントを変更すればよいですか?