OpenEdv-开源电子网

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

我想提一个简单的问题,关于结构体指针的

[复制链接]

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-5-21
在线时间
14 小时
发表于 2020-1-18 14:46:02 | 显示全部楼层 |阅读模式
1金钱
void LED_init()
{       
        GPIO_InitTypeDef  GPIO_InitStructure;
        //open rcc clock
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
        //set GPIOB
        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOB,&GPIO_InitStructure);
        //out1
        GPIO_SetBits(GPIOB,GPIO_Pin_5);
        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOE,&GPIO_InitStructure);
        GPIO_SetBits(GPIOE,GPIO_Pin_5);
}
void LED_init()
{
        GPIO_InitTypeDef* GPIO_InitStructure;
        //open rcc clock
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
        //set GPIOB
        GPIO_InitStructure->GPIO_Pin=GPIO_Pin_5;
        GPIO_InitStructure->GPIO_Mode=GPIO_Mode_Out_PP;
        GPIO_InitStructure->GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOB,GPIO_InitStructure);
        //out1
        GPIO_SetBits(GPIOB,GPIO_Pin_5);
        GPIO_InitStructure->GPIO_Pin=GPIO_Pin_5;
        GPIO_InitStructure->GPIO_Mode=GPIO_Mode_Out_PP;
        GPIO_InitStructure->GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOE,GPIO_InitStructure);
        GPIO_SetBits(GPIOE,GPIO_Pin_5);
}
关于这两段代码,是否一i样的,我在正点原子的板子上试了,用点可以实现,但是有箭头就不行?错在了哪里???


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-5-21
在线时间
14 小时
 楼主| 发表于 2020-1-18 15:47:22 | 显示全部楼层
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-5-21
在线时间
14 小时
 楼主| 发表于 2020-1-19 00:56:07 | 显示全部楼层
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-5-21
在线时间
14 小时
 楼主| 发表于 2020-1-19 00:56:33 | 显示全部楼层
:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-5-21
在线时间
14 小时
 楼主| 发表于 2020-1-19 14:48:03 | 显示全部楼层
GPIO_InitTypeDef* GPIO_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure1;
       
GPIO_InitStructure=&GPIO_InitStructure1;

指针指向不明确,尽管不报错,但是逻辑上没有指向的内容
       
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-5-21
在线时间
14 小时
 楼主| 发表于 2020-1-19 14:48:42 | 显示全部楼层
W麦田里的守望者 发表于 2020-1-19 14:48
GPIO_InitTypeDef* GPIO_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure1;
       

这样就有地址了,修复了问题
回复

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2020-1-14
在线时间
15 小时
发表于 2020-2-17 18:26:41 | 显示全部楼层
本帖最后由 风黎夕 于 2020-2-17 18:31 编辑

看不出问题啊。语法逻辑在c上我觉得没毛病,但是仿真也不行
回复

使用道具 举报

16

主题

426

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2765
金钱
2765
注册时间
2018-11-8
在线时间
438 小时
发表于 2020-2-17 20:16:53 | 显示全部楼层
风黎夕 发表于 2020-2-17 18:26
看不出问题啊。语法逻辑在c上我觉得没毛病,但是仿真也不行

第二种方法 定义一个指针 但是没说这个指针址对应的是什么东西 你就给指针中的GPIO_Pin赋值
楼主自己在6楼都说了 定义一个结构体变量 再定义指针 然后告诉指针指的是结构体变量 再操作他就明白要干啥了
回复

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2020-1-14
在线时间
15 小时
发表于 2020-2-20 11:57:56 | 显示全部楼层
本帖最后由 风黎夕 于 2020-2-20 12:15 编辑
babyrabbit 发表于 2020-2-17 20:16
第二种方法 定义一个指针 但是没说这个指针址对应的是什么东西 你就给指针中的GPIO_Pin赋值
楼主自己在6 ...

懂了,就是指针没有初始化,这样说也可以直接给他分配内存
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6660
金钱
6660
注册时间
2015-8-25
在线时间
1034 小时
发表于 2020-2-20 13:32:34 | 显示全部楼层
指针没有指向具体的东西,是个野指针
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

7

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
340
金钱
340
注册时间
2017-4-16
在线时间
71 小时
发表于 2020-2-20 13:58:31 | 显示全部楼层
本帖最后由 zd845101500 于 2020-2-20 14:00 编辑

第二个函数定义的是个结构体指针,且没有初始化,不能用
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-20 17:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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