求助:#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)

2019-10-12 14:07发布

原子哥资料上说    #define     GPIOA         ((GPIO_TypeDef *) GPIOA_BASE)    这句语句的意思是GPIOA指向
地址GPIOA_BASE(即0x40010800)。请问定义这条语句后GPIOA怎么就指向GPIOA_BASE(即0x40010800)了,
哪位大神能回答下啊?
或者解释下  ((GPIO_TypeDef *) GPIOA_BASE) 这个强制类型转换也可以啊。
谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
shibinjie
2019-10-13 00:30
回复【7楼】229382777@qq.com:
--------------------------------
你说的这些我都理解,只是有一点不理解#define     GPIOA         ((GPIO_TypeDef *) GPIOA_BASE)这句定义之后为什么结构体中的第一个元素就是0x40010800了(GPIOA_BASE = (APB2PERIPH_BASE + 0x0800) = ERIPH_BASE + 0x10000 + 0x0800 = 0x40000000 + 0x10000 + 0x0800 
= 0x40010800这个基地址我也理解)

一周热门 更多>