OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 17881|回复: 10

void GPIO_Init中这一句GPIO_TypeDef* GPIOx是什么意思,怎么理解,

[复制链接]

12

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2015-7-29
在线时间
33 小时
发表于 2015-8-1 14:38:40 | 显示全部楼层 |阅读模式
5金钱
void GPIO_Init中这一句GPIO_TypeDef* GPIOx是什么意思,怎么理解,

最佳答案

查看完整内容[请看2#楼]

表示一个  结构体变量的地址 前面定义一个这个类型的结构体变量,给这个变量的各个成员赋我们需要用到的值。 最后通过它的地址找到这个变量,用这个变量成员的值初始化GPIOx
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2015-8-1 14:38:41 | 显示全部楼层
表示一个  结构体变量的地址

前面定义一个这个类型的结构体变量,给这个变量的各个成员赋我们需要用到的值。

最后通过它的地址找到这个变量,用这个变量成员的值初始化GPIOx
小小蜗牛
回复

使用道具 举报

12

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2015-7-29
在线时间
33 小时
 楼主| 发表于 2015-8-1 14:40:28 | 显示全部楼层
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)中这样GPIO_InitTypeDef* 表示是什么意思?
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2015-8-1 16:25:51 | 显示全部楼层
结构体变量指针,也就是初始变量的地址
回复

使用道具 举报

12

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2015-7-29
在线时间
33 小时
 楼主| 发表于 2015-8-3 16:01:06 | 显示全部楼层
回复【3楼】jiutianshenjian:
---------------------------------多谢!多谢!多谢!!!原子的论坛不错!!!
回复

使用道具 举报

12

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2015-7-29
在线时间
33 小时
 楼主| 发表于 2015-8-3 16:05:03 | 显示全部楼层
还有就是GPIO_TypeDef* GPIOx中GPIO_TypeDef*是不是就是前面的结构体变量GPIO_TypeDef的地址?  通俗点是不是就是说GPIO_TypeDef这个结构体变量加了*号后就代表了GPIO_TypeDef的地址了???
回复

使用道具 举报

12

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2015-7-29
在线时间
33 小时
 楼主| 发表于 2015-8-3 16:05:43 | 显示全部楼层
回复【3楼】jiutianshenjian:
---------------------------------
还有就是GPIO_TypeDef* GPIOx中GPIO_TypeDef*是不是就是前面的结构体变量GPIO_TypeDef的地址?  通俗点是不是就是说GPIO_TypeDef这个结构体变量加了*号后就代表了GPIO_TypeDef的地址了???
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2015-8-4 14:11:56 | 显示全部楼层
回复【7楼】xianyu861109:
---------------------------------
GPIO_TypeDef是类型,相当于int,float。
int a;
int *p;
GPIO_TypeDef a;
GPIO_TypeDef *p;

你的问题好比问,int加了*号是不是就是int的地址了?
答:完全不对。

C语言问题,去看看书
http://www.openedv.com/posts/list/40385.htm

再看看typedef的作用
小小蜗牛
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2017-7-18
在线时间
0 小时
发表于 2017-7-18 18:22:47 | 显示全部楼层
本帖最后由 Digimon 于 2017-7-18 18:25 编辑

回复3L:int* p和int *p是一个意思。*表示后边的变量是个指针,看成int*和p就不好理解了。刚在网上了解到的
回复

使用道具 举报

3

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2018-5-2
在线时间
16 小时
发表于 2019-4-19 15:42:14 | 显示全部楼层
这里的GPIO_TypeDef* GPIOx应该是一个二级指针,因为前面已经强制转换为指针类型的结构体即: #define GPIOA   ((GPIO_TypeDef *) GPIOA_BASE) 。现在GPIOA就表示以 GPIOA_BASE为基地址的一个类型为GPIO_TypeDef结构体的一个指针,所以在程序里可以用GPIOA->CRL。个人认为应该是这样的,因为是初学不知道理解对否。
回复

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2019-5-20
在线时间
44 小时
发表于 2019-6-6 10:09:13 | 显示全部楼层
它不是指针来的吗?咋么给GPIOx,不是应该给GPIOx的地址吗
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 05:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表