你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
zfz9232 发表于 2016-10-21 08:44 没有试过呢。
ynwscfsfi 发表于 2016-10-20 22:34 手动改也不行吗
查看全部评分
你右边不是寄存器吗,自己改啊
刚刚试过了,手动改变MODE后,LED确实是亮起来了。
#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);
}
===============更改为以下的形式=================
=============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);
}
如果声明为指针,那么该结构体的每个成员都将会给初始化为0xFF,后果很严重。
GPIO_InitTypeDef *GPIO_Init_Pin;
GPIO_InitTypeDef SomeOne;
GPIO_Init_Pin = &SomeOne;
这样子才能用正常使用。
评分
查看全部评分
#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语言 的基本要求
评分
查看全部评分