你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

f4-discoveryLED点不亮,的奇葩原因

[复制链接]
zfz9232 提问时间:2016-10-20 20:52 /
阅读主题, 点击返回1楼
收藏 1 评论23 发布时间:2016-10-20 20:52
23个回答
zfz9232 回答时间:2016-10-21 21:32:48
如楼上所示,讲结构体声明为实例而不是指针的,就可以得到正确的结构;
如果声明为指针,那么该结构体的每个成员都将会给初始化为0xFF,后果很严重。
assssdz 回答时间:2016-10-21 22:04:50
zfz9232 回答时间:2016-10-21 22:06:19
该问题的出现是因为指针并没有在使用前初始化,必须要  
GPIO_InitTypeDef *GPIO_Init_Pin;
GPIO_InitTypeDef SomeOne;
GPIO_Init_Pin = &SomeOne;
这样子才能用正常使用。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

原田夜舞love 回答时间:2016-10-21 23:26:38
帮顶了!
中山无雪 回答时间:2016-10-21 23:37:49
=============bsp_led.c==============
#include "bsp_led.h"

void LED_GPIO_Config(void)
{
    GPIO_InitTypeDef* GPIO_Init_Pin;
    //时钟
    RCC_AHB1PeriphClockCmd(LED_R_CLK,ENABLE);
   
    GPIO_Init_Pin->GPIO_Pin = LED_R_PIN;
    GPIO_Init_Pin->GPIO_Mode = GPIO_Mode_OUT;
    GPIO_Init_Pin->GPIO_Speed = GPIO_Fast_Speed;
    GPIO_Init_Pin->GPIO_OType = GPIO_OType_PP;
    GPIO_Init_Pin->GPIO_PuPd = GPIO_PuPd_UP;

    GPIO_Init(LED_R_PORT,GPIO_Init_Pin);   
}

定义了指针而没有分配对象,当然就不会起作用了
下面 的直接定义实例,系统自动分配空间,所以运行就正确了

这是C语言 的基本要求

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

zfz9232 回答时间:2016-10-22 10:46:13
中山无雪 发表于 2016-10-21 23:37
=============bsp_led.c==============
#include "bsp_led.h"

是的是的,受教了。
andrewz 回答时间:2016-10-22 13:10:19
又有同志掉C语言的坑了,学习了.
assssdz 回答时间:2016-10-22 17:10:05
:):):)
zbber 回答时间:2016-10-22 22:33:10
楼主加油,我们都看好你哦
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版