構造体に定義したい
typedef struct
{
unsigned long GPFSEL[6];
unsigned long Reserved_1;
unsigned long GPSET[2];
unsigned long Reserved_2;
//Ignoring the reserved and test bytes
} GPIO_REGS_;
1つの解決策はこれです
volatile GPIO_REGS_ * const GPIO_REGS = ((volatile GPIO_REGS_ *) 0x20200000UL);
この場合、次のようにレジスタにアクセスできます。
GPIO_REGS->GPSET[0];
しかし、次のように使用できる GPIO_REGS 変数をどのように定義すればよいですか?
GPIO_REGS.GPSET[0];
以下が機能しないのはなぜですか?
#define GPIO_REGS (*(( GPIO_REGS_ *) 0x20200000UL));