((GPIO_TypeDef ) GPIOB_BASE)或((GPIO_TypeDef ) xxxx)

///////////////((GPIO_TypeDef ) GPIOB_BASE)或((GPIO_TypeDef ) xxxx)////////////////////

#define GPIOA ((GPIO_TypeDef*)GPIOA_BASE)

1)GPIOA_BASE被强制转换为地 址,空间以GPIO_TypeDef的 类型进行 构建,首址为GPIOA_BASE,空间内有成员,之间依各自固有类型顺序分配相应空间;

2)GPIOA宏展开,即为紧跟其后的具体内容,这样它就是一个指针了:指向以GPIOA_BASE为首址的结构体空间。所以您给出GPIOA->某成员,则操作成立,如取该成员地址、赋值等。

上一篇:stm32F103 入门篇 14-位带操作-GPIO输入输出


下一篇:STM32端口IO方向设置问题的IO方向设置问题