)谁能帮我解释下((GPIO_TypeDef *) GPIOC_BASE) 是什么意思 特别是那“*”号的位置?

[复制链接]
查看11 | 回复2 | 2012-8-15 10:57:41 | 显示全部楼层 |阅读模式
typedef struct{vu32 CRL;vu32 CRH;vu32 IDR;vu32 ODR;vu32 BSRR;vu32 BRR;vu32 LCKR;} GPIO_TypeDef;只表示对该结构体申明,而((GPIO_TypeDef *) GPIOC_BASE)表示将其强制转换为指针类型,#define GPIOC
((GPIO_TypeDef *) GPIOC_BASE)的意思是用GPIOC来替换((GPIO_TypeDef *) GPIOC_BASE),那么这个时候GPIOC就是指针了。所以程序里面你才敢用GPIOC->CRL。不要过多纠结 这是stm8、32里面的...
回复

使用道具 举报

千问 | 2012-8-15 10:57:41 | 显示全部楼层
C基础吧,把一个整形的数据强转为一个结构体的指针。()是指把括号后的东西强转为括号里的类型。(GPIO_TypeDef *)就是个结构体指针类型。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行