MCU ヘッダー ファイルで定義された構造体があります。
typedef struct tagANSBBITS {
unsigned ANSB0:1;
unsigned ANSB1:1;
unsigned ANSB2:1;
unsigned ANSB3:1;
unsigned ANSB4:1;
unsigned :7;
unsigned ANSB12:1;
unsigned ANSB13:1;
unsigned ANSB14:1;
unsigned ANSB15:1;
} ANSBBITS;
ハードウェアに実装されているため、一部のビットのみが定義されています。問題は、このようなマクロを自分で作成したことです
#define pinMode(pin) pin(_ANS_F)
#define _ANS_F(alpha,bit) (ANS ## alpha ## bits.ANS ## alpha ## bit)
そして、このように使用されます
pinMode(RED_LED) = 0;
対応するANSBxが構造で定義されていない場合、明らかに失敗します。マクロを使用する前に ANSx の存在をテストできますか? または、これで問題ないことを gcc に納得させますか?
前もって感謝します、