STM32寄存器定义问题,请教各位
发布: 2009-9-15 11:58 | 作者: hover_sky | 来源: StmFans思蜕盟 OPELC 自由电子联盟
在keil的头文件stm32f10x_map.h中定义了#define RCC ((RCC_TypeDef *) RCC_BASE)
实际应为:((RCC_TypeDef *) 0x40021000),其中RCC_TypeDef 为结构体。
typedef struct
{
vu32 CR;
vu32 CFGR;
vu32 CIR;
vu32 APB2RSTR;
vu32 APB1RSTR;
vu32 AHBENR;
vu32 APB2ENR;
vu32 APB1ENR;
vu32 BDCR;
vu32 CSR;
} RCC_TypeDef;
请教高手#define RCC ((RCC_TypeDef *) RCC_BASE)怎么理解?
实际应为:((RCC_TypeDef *) 0x40021000),其中RCC_TypeDef 为结构体。
typedef struct
{
vu32 CR;
vu32 CFGR;
vu32 CIR;
vu32 APB2RSTR;
vu32 APB1RSTR;
vu32 AHBENR;
vu32 APB2ENR;
vu32 APB1ENR;
vu32 BDCR;
vu32 CSR;
} RCC_TypeDef;
请教高手#define RCC ((RCC_TypeDef *) RCC_BASE)怎么理解?

实际应为:((RCC_TypeDef *) 0x40021000)
在程序中所有写RCC的地方,编译器的预处理程序将它替换成((RCC_TypeDef *) 0x40021000)
前面为什么要加((RCC_TypeDef *) 修饰,能解释一下么?谢谢