((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->某成员,则操作成立,如取该成员地址、赋值等。

posted @ 2020-12-09 14:26  Sean_hn  阅读(331)  评论(0编辑  收藏  举报