Arm 在c中从结构定义指向数组的指针

Arm 在c中从结构定义指向数组的指针,arm,embedded,microcontroller,stm32f1,Arm,Embedded,Microcontroller,Stm32f1,我曾尝试通过以下结构方法访问stm32f103 MCU中的寄存器阵列: typedef struct { volatile u32 MNVIC_IABR[3]; }MNVIC_IABR_T; #define MNVIC_IABR ((volatile MNVIC_IABR_T*) 0xE000E300) 但它给了我一个错误: In file included from ../src/MNVIC_program.c:8:0: ../include/MNVIC_PRIVATE.h:58:21

我曾尝试通过以下结构方法访问stm32f103 MCU中的寄存器阵列:

typedef struct
{
volatile u32 MNVIC_IABR[3];

}MNVIC_IABR_T;

#define MNVIC_IABR  ((volatile MNVIC_IABR_T*) 0xE000E300)
但它给了我一个错误:

In file included from ../src/MNVIC_program.c:8:0:
../include/MNVIC_PRIVATE.h:58:21: error: expected identifier before '(' token
#define MNVIC_IABR  ((volatile MNVIC_IABR_T*) 0xE000E300)
                 ^

我发现了问题,是指针的名称与最后一行中寄存器的名称相同,因此我进行了更改,现在它正在工作:

#define MNVIC_IABR_STRUCT  ((volatile MNVIC_IABR_T*) 0xE000E300)

我在这里看到循环引用我发现了问题,是指针的名称与寄存器的名称相同我在这里看到循环引用我发现了问题,是指针的名称与寄存器的名称相同