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)怎么理解?
binglin (2009-9-15 14:19:28)
#define RCC                 ((RCC_TypeDef *) RCC_BASE)
实际应为:((RCC_TypeDef *) 0x40021000)

在程序中所有写RCC的地方,编译器的预处理程序将它替换成((RCC_TypeDef *) 0x40021000)
catwill (2009-9-15 16:54:14)
同意楼上同学的意见。
hover_sky (2009-9-16 12:19:17)
前面为什么要加(RCC_TypeDef *) 这个结构修饰?
hover_sky (2009-9-16 12:20:22)
2# binglin


前面为什么要加((RCC_TypeDef *) 修饰,能解释一下么?谢谢