我试图通过这样的结构方法访问 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)